On Mon, 13 Aug 2001, Jon Stevens wrote:

> I'm trying to build Craig's new stuff, but it is a royal pain in the ass to
> build because it depends on a bunch of other tools that live in
> Jakarta-Commons. Now, these other tools are a royal pain in the ass to build
> because they depend on each other and each and every one has a different way
> of building itself.
> 
> For example, commons-collections has a dist-jar target and commons-beanutils
> doesn't have either a jar target or a dist-jar target. Instead it has a dist
> target. On top of it, each one seems to have its own way of figuring out how
> to generate the location of the various dependency .jar files.
> 
> I can understand jakarta-commons-sandbox having each own mess, but I would
> hope that the jakarta-commons would at least be able to agree on a single
> format for build files.
> 
> This is really frustrating.
> 
> -jon
> 
> 

The key common target is "dist", because that's the one that creates the
JAR files, in a "dist" directory underneath each package directory.  All
the other targets follow one of a couple styles, depending on who
contributed the original code (I gave up on fighting for a standard --
it's a losing proposition).

Knowing about "dist" leaves only the dependency order to worry about.
For that, you've got two choices:

* Use released versions off the web site when possible (beanutils
  and digester right now, but you need current CVS code for the
  workflow stuff to build).

* Change directory to the jakarta-commons top level directory and
  run "ant dist".  It calls the subordinate build scripts for many
  of the packages (at least the ones I use :-) in the correct order
  to deal with dependencies.

We *badly* need CJAN/JJAR/whatever-the-heck-it's-going-to-be-called.  I'd
like to see it done, but don't have time to help.

We also need a release of collections, and an update of digester, so
people can use released versions instead of hot off the presses CVS
code.  (I'll work on these this week).

Craig


Reply via email to