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