cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <>
Subject Re: [RANT] This Maven thing is killing us....
Date Tue, 04 Jul 2006 13:37:18 GMT
Carlos Sanchez wrote:
> The repository is as good as the users/projects make it. There's no
> difference at all with using ant and including the wrong jars, maybe
> the problem is that how to fix it in maven is not as easy as in ant.
> If project A says it depends on B 1.0 and C says it depends on B 1.1,
> there's a conflict in Maven, Ant and anything you want to use, the
> difference is that Maven tries to do it for you, but you still can
> override that behaviour.

It seems to me that the difference in ant, the duty to set up your 
classpath belongs to the project alone, so you, the build.xml author are 
the only one who can make a mess of your CP.

However, on any system with transitive dependencies, you are ceding 
control of your classpath to other programs out there. Even if you think 
you know exactly what the dependency graph of your app is, an update to 
a new version of any your dependencies can pull in new metadata, with a 
new set of dependencies, and potentially a new classpath.

This is not a maven-specific problem; anything that supports transitive 
dependency logic can suffer from it. Gump and Ivy could, though in both 
cases the descriptors tend to be hand-written tuned to not exhibit the 
problem. (in gump most projects dont export dependencies, as the default 
is compile-time-only).

 > Right now we are in a good position with a huge number of users trying
 > and testing the metadata in the repository, and forcing projects to
 > support maven by providing good data.

That still assumes that transitive dependencies are a good thing, and 
that perfect metadata is achievable. I'm not sure about either of those. 
I also think they're straying dangerously close to one of the big 
software engineering tar-pits: versioning.


View raw message