On 13/05/2009, Jason van Zyl <[email protected]> wrote: > > On 13-May-09, at 10:11 AM, sebb wrote: > > > > On 13/05/2009, nicolas de loof <[email protected]> wrote: > > > > > With this approach, all RC tags (and the final one) point to a source > code > > > that generate the finalName artifact. > > > more complete sample > > > > > > > Yes, but AFAICS the tag 1.0 points to different code at different > > times, so does not uniquely identify the code. > > > > > > Tags should not contain different code at different points in time. That's > just a bad practice. It happens by accident occasionally but to change code > on tags consciously is just a bad practice.
I entirely agree. However AFAICT that is exactly what many Maven release procedures involve, because the tag is deleted and recreated. To go back to my original question - how does one use Maven with release tags? The restriction is that a tag, once created, is never changed (it may be copied or deleted, but never updated or *re*created). > > > > > So if someone says that "the archives generated from tag 1.0" are OK - > > or not OK - how do you know what code they are referring to? > > > > > > > from trunk 1.0-SNAPSHOT > > > > > > release:prepare version = 1.0 > > > release:stage > > > --> tag = 1.0 > > > --> artifact = foo-1.0.jar, deployed on staging repository > > > > > > test, test, test BUG ! > > > > > > release:roolback > > > --> trunk is back to 1.0-SNAPSHOT > > > // rename the tag, as this one was a buggy RC > > > svn mv tags\1.0 tags\1.0-RC1 > > > > > > go back to step 1 > > > > > > > > > > No bug found ? > > > well done, you've got your release > > > > > > > > > 2009/5/13 sebb <[email protected]> > > > > > > > > > > > > > On 13/05/2009, nicolas de loof <[email protected]> wrote: > > > > > > > > > 1. release:stage with the target version 0.9 (renaming a released > JAR may > > > > > have some strange side-effects) > > > > > > > > > > test, test, test .. > > > > > --> all fine ? you've got it > > > > > --> some bugs : release:rollback , fix and back to step 1. > > > > > You only have to rename (or remove) the tag created in SCM for the > > > > > > > > > release > > > > > > > > > (candidate) > > > > > > > > > > > > > I don't follow this - how does this ensure that a given tag name (URL) > > > > only ever refers to a single code set? > > > > > > > > I may have misunderstood, but it seems to me that the tag is being > > > > reused, and therefore does not uniquely identify the source. > > > > > > > > > > > > > > > > > > 2009/5/13 Todd Thiessen <[email protected]> > > > > > > > > > > > > > > > > > > > > > So what is the extact work flow? > > > > > > > > > > > > 1. Run release:stage with a version like myproject-0.9-RC1 > > > > > > 2. When problems are found, rollback, fix the problem and run > > > > > > release:stage again, incrementing RC2, 3, etc.... > > > > > > 3. When no more problems are found with the RC, perform a rollback > and > > > > > > then a release:perform using the actual release version. (in this > case > > > > > > myproject-0.9) > > > > > > > > > > > > --- > > > > > > Todd Thiessen > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > From: nicolas de loof > [mailto:[email protected]] > > > > > > > Sent: Wednesday, May 13, 2009 9:13 AM > > > > > > > To: Maven Users List > > > > > > > Subject: Re: How can one handle release candidates in Maven? > > > > > > > > > > > > > > Use the release:stage goal to create your release candidates. > > > > > > > If you find a bug, you just have to release:rollback and > > > > > > > rename the tag from finalName to finalName_RCx > > > > > > > > > > > > > > 2009/5/13 Fabien KRUBA <[email protected]> > > > > > > > > > > > > > > > > > > > > > > I suppose you can use release:prepare and perform multiple > times > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > if > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > you give the RC version number when asked ? > > > > > > > > > > > > > > > > > http://maven.apache.org/guides/mini/guide-releasing.html > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, May 13, 2009 at 8:55 AM, sebb <[email protected]> > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > What I would like to be able to do with Maven is: > > > > > > > > > > > > > > > > > > Create an SVN tag, e.g. myproject-0.9-RC1 from current > > > > > > > > > > > > > > > > > > > > > > > > code in trunk > > > > > > > > > > > > > > > > > > > > > > > > (or perhaps a branch) > > > > > > > > > > > > > > > > > > Create and test the release candidate from the tag. > > > > > > > > > > > > > > > > > > Publish the release candidate somewhere temporarily so > others > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > can > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > check if the release candidate is OK. > > > > > > > > > > > > > > > > > > If there are problems, fix the trunk (or branch) and create > a > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > new > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > tag, e.g. myproject-0.9-RC2. Repeat as needed. > > > > > > > > > > > > > > > > > > Suppose RC3 is OK, then the artifacts need to be renamed (if > > > > > > > > > necessary) to remove the -RC3 suffix, and published to > > > > > > > > > > > > > > > > > > > > > > > > the release > > > > > > > > > > > > > > > > > > > > > > > > repository. > > > > > > > > > > > > > > > > > > The tag is also renamed, i.e. myproject-0.9-RC3 => > myproject-0.9 > > > > > > > > > > > > > > > > > > The end result is a published release (without RC suffix). > > > > > > > > > > > > > > > > > > The idea behind this is to ensure that the tag URL alone is > > > > > > > > > sufficient to identify the exact contents used to create the > > > > > > > > > release, and that the artifacts that are published are > > > > > > > > > > > > > > > > > > > > > > > > identical to > > > > > > > > > > > > > > > > > > > > > > > > the ones that were checked (apart perhaps from the file > names). > > > > > > > > > > > > > > > > > > Is this possible using Maven? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -------------------------------------------------------------------- > > > > > > > > > > > > > > > > > > > > > > > > - To unsubscribe, e-mail: > [email protected] > > > > > > > > > For additional commands, e-mail: [email protected] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > To unsubscribe, e-mail: > [email protected] > > > > > > For additional commands, e-mail: [email protected] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > > > > > > > > > > > > > To unsubscribe, e-mail: > [email protected] > > > > For additional commands, e-mail: [email protected] > > > > > > > > > > > > > > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > [email protected] > > For additional commands, e-mail: [email protected] > > > > > > Thanks, > > Jason > > ---------------------------------------------------------- > Jason van Zyl > Founder, Apache Maven > http://twitter.com/jvanzyl > http://twitter.com/SonatypeNexus > http://twitter.com/SonatypeM2E > ---------------------------------------------------------- > > believe nothing, no matter where you read it, > or who has said it, > not even if i have said it, > unless it agrees with your own reason > and your own common sense. > > -- Buddha > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
