Everyone seems to be talking about monolithic jars vs modular jars as if
they are mutually exclusive.

I don't see why we can't have both and make everyone happy. If someone
really wants only one jar as well as mahout-common then the burden is on
them to do a little more research and figure out deps. If they want
everything they just use the all singing all dancing jar.

To get this functionality it's just a simple <copy> task with an exclude, or
include depending on how you look at it (there are also many ways to skin
this cat).

About dependencies for mahout: Simply stick them in a lib directory. Done,
end of store. See Apache-SOLR. There is no magic here.

ant dist (all) -> mahout.jar
and dist-foo -> mahout-foo.jar

To re-summarize

Build:
+0 Maven
+1 Ant

Structure:
+0 Per project layout
+1 Single Source Tree

Build Out:
+1 Modular
+1 Single

(Yes, I favor both).

On 1/30/08, Dawid Weiss <[EMAIL PROTECTED]> wrote:
>
>
> I share some folks' opinion. While Maven seems nicer in some aspects, I
> like
> build scripts that are predictable and consistent. Even if ANT can be a
> pain, I
> would go with it instead of Maven.
>
> My votes:
>
> Build system:
>      +0 Maven 2
>      +1 Ant
>
> Project structure:
>      +0 Per-algorithm source tree
>      +1 Single source tree
>
> Release artifact(s):
>      +0 Per-algorithm jar
>      +1 Monolithic jar
>
> I don't think we will have that many classes to be concerned with JAR
> size. The
> dependencies will be much larger and splitting these (or making a clear
> documentation about which algorithm requires which JARs) will be more
> important.
>
> Dawid
>

Reply via email to