Versions Compared

Key

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

...

(There are also one-time setup instructions)

0

Ensure that the master POM and Struts Annotations have current releases.

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_#_#_#

12

Update the POMs to remove "-SNAPSHOT" from the version

2

Commit , commit the POM 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 (in assembly/target/assembly/out)

 

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

6

Deploy the Maven artifacts to the staging repository

 

Make sure the staging repository at {{

http://people.apache.org/builds/struts/m2-staging-repository

}} is absent empty or emptymissing, then:

Code Block
mvn deploy -P all,pre-assembly 

7

Sign the Maven artifacts (in assembly/target/assembly/out)

 

Under CygWin, use the $ mount command to check your drive and path mappings

 

Code Block
gpg --armor --output struts-#.#.#-all.zip.asc --detach-sig struts-#.#.#-all.zip 
openssl md5 < struts-#.#.#-all.zip > struts-#.#.#-all.zip.mdr

 

(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/#.#.# and update the download page

9

Update your usual working copy, change the POMs to next version number, add the "-SNAPSHOT" suffix, and commit the POM changes.

10

Commit the POM changes 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 and link to prior release page and JIRA filters. Update site.xml with link to new release notes.

11

Deploy the new snapshot

 

Code Block
mvn -N install

12

Add Announce the next version to our issue tracker for scheduling new features and fixes

13

test build to the dev list first. Wait 3-7 days and, if appropriate, post a release/quality 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 , and then update beforing updating the download.xml page and making any announcement.

One time

Create and install a SSH key

...

  • Extract assembly to a root drive (\struts-2.0.x)
  • Copy (export) the "backport" folder that is under SVN to \struts-2.0.x\j4
  • Run the translate batch file
  • Create struts-2.0.x-j4.zip archive
  • Also create a struts-2.0.x-docs.zip archive
  • Update struts-2.0.x-all.zip archive

Sample Test Build Announcement

(tick) Test builds are only announced to the dev list. Announcements to the user list can only be made pursuant to a release vote with the consent of the PMC.

The test build of Struts 2.0.3 is available.

No determination as to the quality ('alpha,' 'beta,' or 'GA') of Struts 2.0.3 has been made, and at this time it is simply a "test build". We welcome any comments you may have, and will take all feedback into account if a quality vote is called for this build.

Release notes:

  • Wiki Markup
    \[LINK\]

Distribution:

Maven 2 staging repository:

We appreciate the time and effort everyone has put toward contributing code and documentation, posting to the mailing lists, and logging issues.

Sample Release/Quality Vote

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

Release notes:

  • Wiki Markup
    \[LINK\]

Distribution:

Maven 2 staging repository:

If 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 remember that a binding +1 for GA implies that you intend to support the release by applying patches and responding to posts to the user and dev lists.

Sample Release Announcment

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###Image Added

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

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