Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

(There are also one-time setup instructions) http://cwiki.apache.org/confluence/pages/editpage.action?pageId=26375#Image Removed
Preview
(tick)

(tick)

To keep this list current, it is strongly recommended that release managers refer to and follow this list each time a distribution is created. If any of the steps need to be amended, then please update the list.

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 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
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!

 

After updating the site, be sure that the permissions are set to group writeable ($ chmod -R g+w .)

...