You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@reef.apache.org by John Yang <jo...@gmail.com> on 2015/01/12 06:36:55 UTC

Tthe location of classes under org.apache.reef.util

Hi,

I've discovered that while we have the majority of classes under the
namespace "org.apache.reef.util" inside the directory
"reef-common/..../util", we have 2 directories(reef-utils,
reef-utils-haddoop) right under the root directory both of which only
contain one or two classes under the namespace.

I think we should delete these 2 directories and move the classes inside
into "reef-common/..../util". If you agree, I'll register an issue and make
the changes accordingly.

John

Re: Tthe location of classes under org.apache.reef.util

Posted by Markus Weimer <ma...@weimo.de>.
Hi,

I don't think we should merge them into common. If anything, reef-utils
should grow in size over time as we move more utilities from other
packages there.

Now, why am I saying this? We split maven modules by the dependencies
they have in order to minimize the impact of our dependencies on REEF
applications:

`reef-common` does not depend on Hadoop, which is a good thing for
people only interested in using the local runtime. If we were to move
`reef-utils-hadoop` into `reef-common`, we would have to add that
dependency.  As a matter of fact, that was the case prior to open
sourcing REEF and we created `reef-utils-common` as a cleanup.

Similarly, `reef-utils` is created for utility classes that have no
dependencies at all. That makes `reef-utils` the universal dependency of
REEF, Wake and Tang. If we were to collect all utility classes in
`reef-common` a user of e.g. only Tang would have to pull in that
dependency and even Hadoop if we follow through on this suggestion.

Hence, the many places for utilities do serve a purpose. Just not one
for us, but for the downstream users of REEF :-)

Markus



On 2015-01-11 21:36, John Yang wrote:
> Hi,
> 
> I've discovered that while we have the majority of classes under the
> namespace "org.apache.reef.util" inside the directory
> "reef-common/..../util", we have 2 directories(reef-utils,
> reef-utils-haddoop) right under the root directory both of which only
> contain one or two classes under the namespace.
> 
> I think we should delete these 2 directories and move the classes inside
> into "reef-common/..../util". If you agree, I'll register an issue and make
> the changes accordingly.
> 
> John
>