Hi folks,
I have spent some time learning release processes of CXF & Maven projects, and
IMO we should do the same (I have tested it on Wink and it works fine).
Both projects use maven-release-plugin to do releases. It saves a lot of
repetitive, manual work.
Wink Release Management (need to be improved)
http://cwiki.apache.org/confluence/display/WINK/Apache+Wink+Release+Management
Wink release process - once we decide that we are ready to go, the following
steps will be performed by a release manager:
* run mvn release:prepare that executes the following steps
* Check that there are no uncommitted changes in the sources
* Check that there are no SNAPSHOT dependencies
* Change the version in the poms from x-SNAPSHOT to a new version (you
will be prompted for the versions to use)
* Transform the SCM information in the POM to include the final
destination of the tag
* Run the project tests against the modified POMs to confirm everything
is in working order
* Commit the modified POMs
* Tag the code in the SCM with a version name (this will be prompted
for)
* Bump the version in the POMs to a new value y-SNAPSHOT (these values
will also be prompted for)
* Commit the modified POMs
* run mvn release:perform that executes the following steps
* Checkout from an SCM URL (from tag)
* Run the predefined Maven goals to release the project - this will
deploy all artifacts to Nexus *temporary* staging repository.
*NOTICE*: Nexus staging temporary repository can be dropped if we don't
like the content. See the Nexus staging documentation for full details
(http://www.sonatype.com/books/nexus-book/reference/staging.html)
* Call for the vote
* If the vote is unsuccessful, the process will need to be restarted
* run mvn release:rollback. This will rollback all changes (back to old
snapshot)
* Delete tag from SCM manually (not handled by maven release plugin!)
* Login to Nexus, and "Drop" the release from the staging repository
* If vote passes, promote a release by transferring it to a production
repository (done from Nexus) where it will be available to all users.
* Copy the actual distributions (all artifacts located under apache-wink in
Nexus repo) to people.apache.org:/www/www.apache.org/dist/incubator/wink
That's it ...
Hope all questions are answered :)
Please take some time reading CXF and Maven Release Management processes - both
are simple & very well documented.
CXF Release Management http://cxf.apache.org/release-management.html
Maven Release Management
http://maven.apache.org/developers/release/releasing.html
Regards,
Martin
-----Original Message-----
From: Nicholas L Gallardo [mailto:[email protected]]
Sent: Monday, August 03, 2009 11:51 PM
To: [email protected]
Subject: Wink 0.1 release process
All, a few things about the release we need to keep in mind.
1. Before we can put the final release up for a vote, the Apache process
requires that we put out a release candidate. Now that Martin's tested the
tags, what's left for us to cut the RC and surface that?
2. Sorry for the short notice here Martin, but I just learned that while
the vote for final release is going on, we cannot have any builds with the
final 0.1 label on them published in the repository since they cannot be
deleted. I'm assuming this means that we just don't flip the switch on the
final tag until the Incubator PMC vote is final and the release is a go.
Do you see anything build-wise that could be a problem there?
-Nick
Nicholas Gallardo
WebSphere - REST & WebServices Development
[email protected]
Phone: 512-286-6258
Building: 903 / 5G-016