Reinhard Poetz wrote:
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?
The root pom should also be in the Maven repository. The versions in it are used when the module's pom is referenced.

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?
Ideally, customers would also extend the root pom. If they don't though, as I said above, the root pom will control what versions of transitive dependencies are used just as if they had been specified in the pom itself. However, if the customer has declares the dependencies in their own pom or in a dependencyManagement section that will take precedence.

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?
I disagree. The build is merrily rolling along using whatever dependencies happen to get chosen. Then along comes cocoon-webapp which has specific versions of the dependencies - which are not necessarily the same version that was used for compilation. The only way to know for sure that the system works in this scenario is to bring up the sample site and exercise every single Cocoon component.
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?
If the user uses our root pom then they can be assured that the system will work. If they use different versions then they will have to verify that doing so doesn't cause any problems.

Ralph

Reply via email to