"Craig R. McClanahan" wrote:
>
> Sam's question is valid, but it's only one case of a general problem that
> Commons components depend on each other in non-obvious fashions.  Just
ask
> Jon about trying to build all of them before I told him about "ant
> dist" in the top-level build.xml.
>
> That issue goes away when CJAN/JJAR/whatever gets deployed.

Versioning/dependency problems don't simply "go away" because jars are
checked into cvs, are automatically fetched on demand, or the contents are
embedded within one another.

Here's a statement of the general problem.  Given:

   A project "A" which depends on projects "B" and project "C".

   A project "B" which depends on version "n" of project "D",

   A project "C" which depends on version "m" of project "D"

   Where "n" != "m"...

Is there a version of "D" which satisfies the needs of everybody?  This can
only be solved by projects with stable interfaces.  Log4j ranks high on my
list of project which understands and respects the need for such
considerations.

- Sam Ruby

P.S.  embedding the contents of other people's jars can produce dependency
graphs which are impossible to untangle without unbundling.

Reply via email to