0 | Ensure that the master POM and Struts Annotations have current releases, and review JIRA for any issues without a fix version set, and for any issues that should be resolved for the pending release. |
---|
1 | Delete the struts2 items in your local Maven2 repository and obtain a fresh checkout. Code Block |
---|
svn co https://svn.apache.org/repos/asf/struts/struts2/trunk STRUTS_#_#_# |
|
---|
2 | Update the POMs to remove "-SNAPSHOT" from the version, and update the version number in the backport/translate.bat file. Commit the changes, and note the revision number. |
---|
3 | Tag the release by making a SVN copy of the head or designated revision |
---|
| Code Block |
---|
svn copy -r ######
https://svn.apache.org/repos/asf/struts/struts2/trunk
https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_#_#_#
-m "WW-#### Tag r###### as Struts #.#.#" |
|
4 | Assemble the release (see notes) |
---|
| Code Block |
---|
mvn clean install site -P all,alljars,pre-assembly
cd assembly
mvn clean assembly:assembly |
- The assembly module is not listed in the 'all' profile, so it does not get cleaned on line 1 above.
- From a clean Subversion checkout against a clean Maven repository, you may need to build the plugins first so that they exist in your working repository.
|
5 | Create a release folder at people.apache.org://www/people.apache.org/builds/struts/#.#.#, and make sure the staging repository at {{ http://people.apache.org/builds/struts/m2-staging-repository }} is empty or missing |
---|
6 | Under CygWin or Linux, sign the Maven artifacts and deploy them to the staging repository (from .\STRUTS_### ) (see notes) |
---|
| Code Block |
---|
mvn deploy -P release,all,pre-assembly -Dpassphrase="$PASSPHRASE" |
|
| Then, move the staging repository under the new #.#.# folder (mv m2-staging-repository 2.0.5 ) |
7 | Sign the Maven artifacts (in assembly/target/assembly/out ) |
---|
| Code Block |
---|
gpg --armor --output struts-#.#.#-all.zip.asc --detach-sig struts-#.#.#-all.zip
openssl md5 < struts-#.#.#-all.zip > struts-#.#.#-all.zip.md5 |
|
| (Under CygWin, use the $ mount command to check your drive and path mappings.) |
8 | pscp or scp the artifacts and signatures to people.apache.org:/www/people.apache.org/builds/struts/#.#.# |
---|
9 | Leaving the clean STRUTS_### folder be, update your usual working copy (svn up ), change the POMs to next version number, add the "-SNAPSHOT" suffix. |
---|
10 | Update JIRA roadmap with tag/release date; Add next milestone to the JIRA roadmap; Create DONE and TODO filters, share with all, and remove obsolete TODO filter; Create new release page, link from Migration Guide, and link to prior release page and JIRA filters. Update site.xml with link to new release notes. |
---|
11 | Deploy the new snapshot from the Struts 2 trunk (with the latest POMs) |
---|
| Code Block |
---|
mvn clean install site -P all,alljars,pre-assembly
mvn site-deploy -Pall |
|
12 | Post a release/quality vote to the dev list (and only the dev list). After the vote, if the distribution is being mirrored (there was a favorable release vote), copy the ZIPs to /www/www.apache.org/dist/struts , and the Maven artifacts to /www/people.apache.org/repo/m2-ibiblio-rsync-repository/ . Wait 24 hours before updating the download.xml page, creating a /www/struts.apche.org/2.#.#/ folder for the documentation, and making any announcement to the user list or general public. cp -R /www/people.apache.org/builds/struts/X.X.X/m2-staging-repository/org/apache/struts/ /www/people.apache.org/repo/m2-ibiblio-rsync-repository/org/apache/struts/ |
---|
| You must review the readme under m2-ibiblio-rsync for additional notes and caveats! |
---|