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