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]
