I would not recommend the release:stage or the release:perform with an
alternate repository. Maven used to do the latter which also required
the use of the stage plugin which is terrible (I know because I wrote
it).
If you are going to take something and potentially expose it to a
large group of people it needs to be managed by some intermediary
where visibility is a logical change in configuration versus a
physical movement of the files because too many thing can and do go
wrong. One miffed POM screws up entire teams. People need configurable
visibility, you have to make sure the files reached the server intact
and you simply cannot change anything about the artifacts once they
have been validated. All of this is supported in Nexus. In addition we
can start adding to the workflow
- validation of signatures
- validation of the transitive closure, even taking into consideration
upstream repositories
- nice templates for mailing folks when releases are ready
- automatic publishing policies (if after 72 hours with enough +1s,
let it rip)
All sorts of very cool and useful things are possible while increasing
the integrity of the release fold an order of magnitude.
On 13-May-09, at 9:41 AM, nicolas de loof 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)
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]
Thanks,
Jason
----------------------------------------------------------
Jason van Zyl
Founder, Apache Maven
http://twitter.com/jvanzyl
http://twitter.com/SonatypeNexus
http://twitter.com/SonatypeM2E
----------------------------------------------------------
Our achievements speak for themselves. What we have to keep track
of are our failures, discouragements and doubts. We tend to forget
the past difficulties, the many false starts, and the painful
groping. We see our past achievements as the end result of a
clean forward thrust, and our present difficulties as
signs of decline and decay.
-- Eric Hoffer, Reflections on the Human Condition
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]