On Jan 25, 2007, at 3:01 AM, Giacomo Pati wrote:

On Wed, 24 Jan 2007, Alexander Klimetschek wrote:
But as we are having our own version of cocoon 2.2 including our patches during development, I know the problem of going through all poms and changing the version number... At least there is this pom-updater tool in tools/ which automatically modifies all poms. It can be modified quite easily (it's XSLT) to do other things with the version number.

We've managed other projects with lots of module by the <dependencyManagement> section in the root pom where all dependencies are listed with version numbers. Module poms will thus never have a version defined in their dependencies.

For the standard case (not my local branch problem), I think <dependencyManagement> could be used and we could get rid of the pom-updater. At first I (Maven noob) thought it wouldn't work because Cocoon is no longer a monolithic project, i.e. a person should be able to do an isolated checkout of a block and build and develop on it, without having all of trunk checked out. But then I realized (d'oh!) that the root pom and other aggregating poms are in artifacts that will be fetched into the local maven repo, they don't have to be built locally. So, it looks like using the standard <dependencyManagement> instead of custom pom-updater is using the right tool for the right job, WDOT?

Now can we please get back to talking about my local branch problem? :-)

<dependencyMangement> of course does not help me, because the only things you can set in an ad hoc local profile are repository locations and properties. Everything else was deemed too dangerous [1] by the Maven developers, because it militates against build reproducibility (they call it "portability"). IMHO, that was a bad decision and the wrong solution to the reproducibility problem!

How can I have multiple local builds of the same artifact coexisting on my machine, without modifying any Subversion-controlled resources (e.g. poms)? That's the question. I'm in need of some brilliant ideas here, does somebody have any?

thx,
—ml—

[1] http://maven.apache.org/guides/introduction/introduction-to- profiles.html

Reply via email to