Creating a Release Candidate

Before starting this process shout a Code Freeze message at the developers list.

In this chapter, <username> and <password> should be replaced with the release manager's SVN credenials. It's not good to provide a password directly but at the moment no other solution has been found. Any comments to improve this, please let us know on the mailinglist.

Maven will ask several questions. Press enter to use the default options.

What is the release version for "Apache log4php"? (org.apache.log4php:apache-log4php) 2.1.0: :
What is SCM release tag or label for "Apache log4php"? (org.apache.log4php:apache-log4php) apache-log4php-2.1.0: :
What is the new development version for "Apache log4php"? (org.apache.log4php:apache-log4php) 2.1.1-SNAPSHOT: :

If something went wrong, you can clean up with:

mvn release:clean

Prepare the release, this will create a tag in SVN:

mvn release:prepare -Dusername=<username> -Dpassword=<password>

If the build fails with the message "revision xyz not found", just re-run the prepare goal. This is a known bug.

Voting

Once everything has been uploaded to the staging server, send a message to the developers list to initiate voting.

Example of an email announcemenet:

Subject: [VOTE] Release Apache log4php 2.1.0
Dear all,
It is my pleasure to announce the first release candidate for Apache log4php version 2.1.0.
Significant changes in this release include:
* this
* that
* other
Apache log4php 2.1.0 RC1 is available for review here:
* http://people.apache.org/builds/logging/log4php/2.1.0/RC1/
The tag for this release is available here:
* http://svn.apache.org/viewvc/logging/log4php/tags/apache-log4php-2.1.0/
The site for this version can be found at:
* http://people.apache.org/~<username>/apache-log4php-2.1.0-RC1/site/
According to the process, please vote with:
[ ] +1 Yes go ahead and release the artifacts
[ ] -1 No, because...
Best regards,
Your RM

Votes from PMC members are binding, however votes from other committers, users and contributors are welcome. Release VOTEs should be left open for a minimum of 72 hours so community members have ample opportunity to download, review and test the release candidate.

Three binding votes are needed for voting to be successful.

On voting failure

If the vote fails, fix the problems which were identified and create a new release candidate (if this run was RC1, the next is RC2).

Before that some clean up must be done.

Rename the SVN tag by adding "-RC1" to make room for the next release candidate:

After this has been done, the preparation process can be repeated using the next RC number.

On voting success

Once a vote is successful, post an email to developers list as a reply to the original [VOTE] email, with the subject "[RESULT] Release Apache log4php 2.1". This message should clearly state the binding votes.

Releasing

After after successful vote, the release may be performed.

Move binaries to distribution directory

Move the source packages, their detached signatures and md5 sums from the staging area to the distribution directory.