It appears the dust has settled, and it looks like ANT has been decided upon
as the way to go.  That's OK with me.  The questions I now have are in regards
to the things that I perceived Maven would help with.

1) Dependency resolution.  Let's face it, blocks will depend on other blocks.
   That's OK, they're supposed to.  The question is for the third party block
   developer.  How are they going to find the dependencies that they need, or
   publish them?

2) Unified packaging requirements.  Again, blocks will require some consistency
   in regards to packaging requirements.  Things like the standard MANIFEST.MF
   tags, locations of configuration files, etc.  We can create an ANT task to do
   all this, but then you also have to worry about getting people to install and
   use it.

3) Not keeping JARs in the repository.  That is the one thing that bugs me about
   the Cocoon build infrastructure.  There is a mountain of JAR files that are
   needed in some contexts, but not others.  You can't keep it straight.

4) Reactor builds.  Being able to start a build, and having the build system
   dynamically order the blocks according to their present needs is very
   valuable.  For example, I could create a block, and someone else use that
   block.  If my block includes a new dependency on another block, that third
   party block needs to be able to ensure the build includes the new dependency.

5) Minimal tweaking.  I can't say how much is needed to be tweaked in the
   current ANT builds, but other projects required endless tweaking as the needs
   of the project grew.

Again, I am not pressing for Maven, but these are the features that we get for
free with it.  Since it looks like we are using ANT, how do we resolve these
needs?

--

"They that give up essential liberty to obtain a little temporary safety
 deserve neither liberty nor safety."
                - Benjamin Franklin




Reply via email to