Baptiste:

I work in a large organization, where there are differing degrees of
familiarity with maven.
Most devs shy away from the release plugin for several reasons.  One
is the use of hudson and nexus.

Developers are not allowed to cut releases on their machines.  Simply
checking in updated version numbers into hudson will alter the
behavior of the deploy step when hudson is run.
The artifact will be pushed to the releases directory in our nexus
instance, instead of the usual snapshot location, if the version
number of the artifact being built is a release.

We follow the apache versioning standard and have a branch structure
that is built to mirror that standard.  Bug fix releases, for instance
are always cut off of a branch labeled 1.0.X, 1.1.X, etc...
So often devs don't cut branches for bug fix releases, eliminating a
lot of the usefulness of the release plugin.

Brian:

1) The snapshot detection rules are similar rules, I'll look at them
fully to see what differences exist.  I wanted the error messages
given to the user to be the path to each transitive dependency that
was a snapshot (if the artifact was building a release), rather than
suppling one.

2) One of my rules forces every module of a reactor build to have the
same version number as the parent. Rather than only demanding that is
a snapshot or not.
(http://maven.apache.org/enforcer/enforcer-rules/requireReleaseVersion.html)

3) There is an extra rule coupled into the first (which it looks like
I should decouple incase the rest of the rule shouldn't make it in
because it is view as being too similar to
http://maven.apache.org/enforcer/enforcer-rules/requireReleaseDeps.html)
which forces developers to resolve transitive dependency version
number conflicts at build rather than letting maven do it.
All transitive dependency conflicts are displayed when the rules
detects that it has been violated.

Seems like 2 and 3 are unique enough to make it in as rules?

Rex

On Thu, Aug 26, 2010 at 12:52 AM, Baptiste MATHUS <[email protected]> wrote:
> 2010/8/25 Rex Hoffman <[email protected]>
>
>> So I felt there are few gaps in the maven release process (and
>> enforcing a project or a reactor project is releasable).
>>
>> Perceived gaps:
>>
>> 1) Maven should fail a build if it is building a release version
>> number and any of it's dependencies (including transitive dependencies
>> on plugins, or inherited, etc...) are snapshot dependencies.
>>
>
> Not sure to understand. Normally, the maven release (via the release plugin)
> already does it. You can release a version if you don't replace all
> snapshots with release versions. What doesn't work for you?
>
> Cheers
>
> --
> Baptiste <Batmat> MATHUS - http://batmat.net
> Sauvez un arbre,
> Mangez un castor !
> nbsp;!
>

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

Reply via email to