Todd Thiessen wrote at Donnerstag, 5. März 2009 15:18:

>> Now you install a version into your
>> repository that is not released yet. There's a reason why
>> Maven checks out the tagged sources again. What happens if
>> release:perform fails? Then you have polluted your local repo
>> with a version that is not existing. Even worse, even if
>> somebody is later on performing the release, you will not get
>> that version ever again unless you remove it manually from
>> your local repo.
> 
> How is this any different than doing an install of a SNAPSHOT and the
> build fails somewhere? You now a "polluted" local repo.

A released version is never replaced even if the remote server has
an "updated" version. The release is final, once and only.

> Or even better, what happens if the release:perform fails. You now have
> partially released modules on your maven repo.

They are not put into the local repo.

> I suppose the bottom line is, yes things can go wrong. I truly admire
> the goal of making a build system completely bullet proof. But is this
> goal realistic? I would love it if building projects with the release
> plugin were this way, but I just don't think that is going to happen.
> 
> Getting back to the issue at hand though, what is the proper way in
> Maven to do a build with the release plugin when you have dependencies
> between modules?  Are you supposed to do something with the dependency
> plugin to ensure that dependencies get properly resolved during the
> prepare?

Use the proper version strings for all artifacts that are part of the
multi-project, not properties, and let the release plugin handle this.

- Jörg


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to