On Thu, Feb 21, 2013 at 7:55 PM, Daniel Spicar <daniel.spi...@gmail.com>wrote:

> 2013/2/21 Reto Bachmann-Gmür <r...@apache.org>
>
> > Hi Daniel
> >
> > I'm not arguing for a centralized dependency management. so be both agree
> > there. My question is how to best move the dependency versions from the
> > dependency management to the projects.
> >
> > The mvn versions plugin doesn't seem to support this.
> >
> > But there is an issue with this approach as well. Often you will want to
> > > use the new features of a module A from some other module B. So you
> need
> > to
> > > go to B's pom and adapt the version number of its dependency. Maybe you
> > > need to do this with several other modules as well. But you don't do
> this
> > > with all modules (e.g. Stable Module C has no changes and does not
> > require
> > > any new feature).
> >
> > No. I suggest you do this for all modules in trunk which is easily done
> by
> > executing the following:
> >
> > mvn versions:use-latest-versions -Dincludes="org.apache.clerezza"
> > -DallowSnapshots=true -DexcludeReactor=false
> >
> > If C is mantianes it should be adapted to use the new version of A. If C
> is
> > not mantained it should be moved out of trunk.
> >
>
> And this is, what should be avoided in my opinion if possible. What you
> describe means a new version of C needs to be released.


No,  you only release C if added some new features there otherwise you just
have C 2-SNAPSHOT version in trunk which keeps being updated to depend on
the latest versions of the other modules.

If you have a module D that depends on C and you want to release this the
you either have to release C as well or have D depend on the released C 1
in the release branch (and for depending on the latest release the
versions-plugin has support too)..


>
> But you are right. Back when I investigated this there was no support for
> this workflow in the mvn release plugin. Nevertheless it strikes me wrong
> to have to change version numbers of modules that contain no changes.
>

But that's like that also with normal usage of the relase plugin, After the
release you have a SNAPSHOT version in trunk which is identical (apart from
the version number) to the released version.

But yes, rather than trying to foresee every possible future it would be
good to have some indispiputed things done. Do you see any options to move
our iternal dependencies out the dependency management without doing this
by hand?

Cheers,
Reto

Reply via email to