Skip to content
bbockelm edited this page Jan 11, 2013 · 12 revisions

Note The release process is being tweaked; please realize this is a guide, and not yet set in stone.

Create a Release Branch

Prior to a release, create a new release branch. All work toward the final release should occur on this branch.

For a significant release, branch on the minor version number. For example,

mvn release:branch -DbranchName=v2.0

You would then update the current trunk to version 2.1-SNAPSHOT and set the version on the v2.0 branch to 2.0-SNAPSHOT.

Next, switch to the 2.0 branch and create the 2.0.5 release branch:

mvn release:branch -DbranchName=v2.0.5

Prepare for a release:

mvn install

mvn release:prepare

You want the next release to be a release candidate - for example, "2.0.5-rc1". The tag name should be "v2.0.5-rc1". The next development version ought to be "2.0.5-rc2-SNAPSHOT".

Announce the release candidate on the Google Group list. Ask the group to test the tags and set a release date; by default, suggest 2 weeks from the time of the RC. Re-iterate until the group agrees the release is ready.

When the release is ready to be made, perform:

mvn release:prepare

mvn release:perform

Set the release name to "2.0.5"; the tag name to "v2.0.5"; and the development version to "2.0.5.1-SNAPSHOT". Despite the fact the release branch still exists, the next release should NOT be 2.0.5.1 but 2.0.6. No further releases should be done off this branch.

Congratulations! You've made a release!

Notes

If you want to do a step without running tests, do "-DskipTests=true".

Clone this wiki locally