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.

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 beforing before updating the download.xml page and making any announcement to the user list or general public.

 

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

...

The Struts #.#.# test build is now available.

Release notes:

Distribution:

Maven 2 staging repository:

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.

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

...

Announcement

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 AvailbiltyAvailability" release. Your input is essential.\] The GA designation is our highest quality grade. \]

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

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

The #.#.x series of the Apache Struts framework has a 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:

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