Versions Compared

Key

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

...

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

Under CygWin or Linux, sign the Maven artifacts (from .\STRUTS_###) (see notes)

 

Code Block
mvn -P release,all -Dpassphrase="$PASSPHRASE"

6

Deploy the Maven artifacts to the staging repository

 

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, then:

Code Block
mvn deploy -P all,pre-assembly 

 

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, and commit the POM changes.

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

Announce the test build Post a release/quality vote to the dev list first and post a release/quality vote. If (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, wait 24 hours beforing updating the download.xml page and making any announcement to the and the Maven artifacts to /www/people.apache.org/repo/m2-ibiblio-rsync-repository/. Wait 24 hours beforing updating the download.xml page and making any announcement to the user list or general public.

 

You must review the readme at m2-ibiblio-rsych for additional notes and caveats!

One time

Create and install a SSH key

...

The Struts #.#.# test build has been available since ## ### ####is now available.

Release notes:

Distribution:

Maven 2 staging repository:

If Once you have had a chance to review the test build, please respond with a vote on its quality:

Wiki Markup
\[ \] Leave at test build
\[ \] Alpha
\[ \] Beta
\[ \] General Availability (GA)

Everyone who has tested the build is invited to vote. Votes by PMC members are considered binding. A vote passes if there are at least three binding +1s and more +1s than -1s.

Please keep in mind that the act of voting carries certain obligations. A binding vote not only states an opinion, but means that the voter is agreeing to help do the work.

Sample Release Announcment

The vote will remain open for at least 72 hours, longer upon request. A vote can be amended at any time to upgrade or downgrade the quality of the release based on future experience. If an initial vote designates the build as "Beta", the release will be submitted for mirroring and announced to the user list. Once released as a public beta, subsequent quality votes on a build may be held on the user list.

As always, the act of voting carries certain obligations. A binding vote not only states an opinion, but means that the voter is agreeing to help do the work

Sample Release Announcment

Wiki Markup
The Apache Struts team is pleased to announce that Struts 2.0.6 is available as a "#####" release. \[\[The Beta designation indicates that we believe the distribution needs wider testing before being upgraded to a "General Availbilty" release. Your input is essential.\] The GA designation is our highest quality grade. \]

The Apache Struts team is pleased to announce the release of Struts #.#.# $GRADE.

Struts #.#.# is available in a full distribution, or as separate library, source, example and documentation distributions.

http://struts.apache.org/download.cgi#struts###

It The release is also available in from the central Maven repository under Group ID "org.apache.struts".

The #.#.x series of the Apache Struts framework has a minumum minimum requirement of the following specification versions:

  • Java Servlet #.# and JavaServer Pages (JSP) #.#
  • Java 2 Standard Platform Edition (J2SE) #.#

The release notes are available online at:

  • Wiki Markup
    \[LINK\]

Should any issues arise with your use of any version of the Struts framework, please Please feel free to test the distribution and post your comments to the user list, orand, if appropriate, file a ticket with JIRA.