...
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. |
---|
| Edit the site/xdocs/index.xml file to change the "Download Now" label to the pending version, and to change the "Getting Started" link to also point to the pending version. |
---|
1 | Delete the struts2 items in your local Maven2 repository and obtain a fresh checkout. For a trunk release, that is Code Block |
---|
svn co https://svn.apache.org/repos/asf/struts/struts2/trunk STRUTS_#_#_# |
|
---|
Alternatively, for a 2.0.x branch release:
Code Block |
---|
svn co https://svn.apache.org/repos/asf/struts/struts2/branches/STRUTS_2_0_X STRUTS_#_#_# |
|
2 | Update the POMs to remove "-SNAPSHOT" from the version, and update the version number in the backport/translate.bat and backport/translate.sh files. |
---|
| Update the site/xdocs/index.xml to point to the best-available release and draft version of the documentation. |
---|
| Commit the changes, and note the revision number. |
---|
3 | Tag the release by making a SVN copy of the head or working branch |
---|
| 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 #.#.#" |
- If the release is against a branch, remember to change the source path!
|
4 | Assemble the release (see notes) |
---|
| Code Block |
---|
mvn clean install site -P all,alljars,pre-assembly,j4
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,alljars,pre-assembly -Dpassphrase="$PASSPHRASE" |
|
| (Under CygWin, use the $ mount command to check your drive and path mappings.) |
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 |
|
8 | pscp or scp the artifacts and signatures to people.apache.org:/www/people.apache.org/builds/struts/#.#.# |
---|
| Afterwards, check the permissions to be sure all uploaded files a world readable and group read/writable (chmod a+r / chmod g+w) |
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,j4
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/ . |
---|
| 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/ |
---|
| Create a /www/struts.apache.org/2.#.#/ folder for the documentation, and copy the contents of the docs distribution into that folder. |
---|
| Wait 24 hours before updating the download.xml page and making any announcement to the user list or general public. |
---|
| You must review the readme under m2-ibiblio-rsync for additional notes and caveats! |
---|
| After updating the site, be sure that the permissions are set to group writeable ($ chmod -R g+w . ) |
---|
...