Purpose
A succesfull release should accomplish the following objectives:
Checklist
- Do a -DdryRun=true
with the release plugin and fix any issues.
- Release version on JIRA: any issues that are not closed/resolved must be moved to next version, all issues that are resolved should be closed, all closed issues that aren't assigned to a fix version must set their fix version to the current release version. (Use bulk edit.)
- Set the version of /full/pom.xml and /release/pom.xml to the correct one
- Prepare with the release plugin (user/pass for svn):
mvn release:prepare -Duser -Dpassword
This does the following:
- Plugin asks for a release version and proposes the current version without SNAPSHOT (this is ok, press enter for each subproject)
- Plugin will commit these changes prior to setting the tag, as /release and /full aren't touched you had to set them manually in a previous step.
- Plugin asks for a tag to set in subversion, use the following format (X.X.X = version):
- The plugin will now tag current head in svn
- Plugin asks for the next developer version, enter the next version with snapshot extension: X.X.X-SNAPSHOT
- Plugin will commit pom's with next developer version.
- perform release with release plugin, this will checkout the svn tagged release, install and deploy the components:
- Build the full jar and the release zip:
cd full
mvn install
cd ../release
mvn package
- Change the distributionManagement in the project root pom.xml
to archive deployment
and run mvn site-deploy
. Change it back afterwards. Add a link to the site in /src/site/site.xml
.
- ftp to upload.sourceforge.net with username anonymous and password your sf login, place release zip under /incoming
- Create a release on SourceForge (admin) and attach the zip to this release, changes and readme can be uploaded.
Publicity
- Write a short release text
about the new improvements and bugfixes in the release. See the release-text of previous releases. For example:
Spring-richclient 0.2.1 has several improvements, such as better view support,
new binders (shuttlelist, nachocalendar, tiger enums), a new sample <simple>,
more improvements and over 50 bugfixes.
- Open /src/site/apt/index.apt
and create a new news item for the release. Add the release text
under the date announcement. Also add a link to JIRA's release notes. For example:
* <<2006-04-21>>: Release 0.2.1 available: see {{{download.html}download}}
Spring-richclient 0.2.1 has several improvements, such as better view support,
new binders (shuttlelist, nachocalendar, tiger enums), a new sample "simple",
more improvements and over 50 bugfixes.
See {{{http://opensource.atlassian.com/projects/spring/secure/ReleaseNote.jspa?projectId=10010&styleName=Html&version=10341}Release notes}}
- Open http://today.java.net/today/news/
and follow the link to the submission form
. Fill in the form, but as a description use our short abstract
and the release text
. For example:
Title: Spring-richclient 0.2.1
Source: Spring-richclient team
Source URL: http://spring-rich-c.sf.net/
Link to News story: http://spring-rich-c.sf.net/
Description:
Spring-richclient's mission is to provide an elegant way to build highly-configurable,
GUI-standards-following rich-client applications faster by leveraging the Spring Framework,
and a rich library of UI factories and support classes.
Spring-richclient 0.2.1 has several improvements, such as better view support,
new binders (shuttlelist, nachocalendar, tiger enums), a new sample "simple",
more improvements and over 50 bugfixes.
- Open http://freshmeat.net/
and click on submit
. Search for the project spring-richclient
and add a release (branch?) for the new version, use the release text
again.
- Contact Keith Donald (or anyone else of Interface21) by e-mail and ask him to put the a notice with the release text
on
.
- Post a message on the user forum which includes the release text
again.