Ralph Goers wrote:
Given the number of projects in Cocoon I'm sure it is.
Just for grins run mvn -P allblocks dependency:analyze. It will take a
while but has tons of useful output.
As an example, I've shown part of it below. You can see that
commons-logging 1.1 is used as a transitive dependency for XML while
commons-logging 1.0.4 is used as a transitive dependency for the
Pipeline components. While it may not happen for commons-logging, in
other cases when packaged up into a single webapp a runtime exception
might likely occur. If commons-logging was placed in the
dependencyManagement of the root pom than only that version would get
used and presumably, if there is a problem, it would get detected during
the build.
Also notice that the Pipeline components below declares that it needs
cocoon-configuration-api but doesn't actually use it.
I'm sure that some really smart person could figure out how to write a
perl script and take the output below or the output from mvn
dependency:resolve and get it to generate all the dependencies.
If we use the dependency management section in our root pom, what will happen
when we release one of our modules? Is the version information used and added to
the <dependency> or is the fallback to the parent's pom depdencyManagement
section still considered?
I'm asking because I don't understand who the customers of creating a
<dependencyMangement> section in Cocoon are? Is it the Cocoon project alone or
also all projects that use Cocoon?
In the first case I doubt that there is much value in doing all this work as
long as the build runs through, isn't it?
Or is the idea that the user looks into our released parent pom and copies our
<dependencyMangement> section into his own project or even inherits from our
root pom?
--
Reinhard Pötz Independent Consultant, Trainer & (IT)-Coach
{Software Engineering, Open Source, Web Applications, Apache Cocoon}
web(log): http://www.poetz.cc
--------------------------------------------------------------------
___________________________________________________________
Telefonate ohne weitere Kosten vom PC zum PC: http://messenger.yahoo.de