Struts Maven 2 Release Process

1. Releasing Struts 1

The sample code uses Struts 1.3.5. For a subsequent release, substitute the approriate version number.

    $ svn co -r 422607 https://svn.apache.org/repos/asf/struts/struts1/trunk STRUTS1_422607
    $ cd STRUTS1_422607
    $ rm -rf $M2_REPO/org/apache/struts
    $ mvn install site-deploy -P apps,itest
    $ mvn deploy -P pre-assembly
    $ cd assembly
    $ mvn assembly:assembly
    $ scp target/assembly/out/* $USERID@people.apache.org:/www/people.apache.org/builds/struts/1.3.5
    $ svn copy https://svn.apache.org/repos/asf/struts/struts1/trunk https://svn.apache.org/repos/asf/struts/struts1/tags/STRUTS_1_3_5 -r 422607 -m "Tagged Struts 1.3.5 at revision 422607"
    $ cd ../../
    $ svn co https://svn.apache.org/repos/asf/struts/struts1/tags/STRUTS_1_3_5
  1. Ensure that your settings.xml contains a <server> and <profile> for struts-staging (see the Suggested Settings section on StrutsMaintenanceMaven)
  2. Create the new directory on people.apache.org:/www/people.apache.org/builds/struts
  3. Obtain a fresh checkout of the revision to release. (See sample code line 1.)
  4. Make sure that people.apache.org/builds/struts/m2-staging-repository is empty
  5. Clear out your local org/apache/struts Maven repositiory.
  6. Build and test all jar and war artifacts. Build and deploy the website.
  7. Build and deploy (jars and poms only) to the staging repository.
  8. Create the assembly and upload it to people.apache.org/builds/struts/
  9. Ensure that everything under builds/struts/[version], builds/struts/m2-staging-repository and www/struts.apache.org/struts/1.x is group writeable. ($ chmod -R g+w .)

  10. Move 'm2-staging-repository' underneath builds/struts/x.x.x to keep things together, and make way for the next release.
  11. Tag the revision from step 2 (above)
  12. Obtain a clean checkout of the tag. Confirm that SVN revision numbers in pom.xml's match.

2. Releasing the struts-master pom

  1. Post your intention to release the struts-master pom to the dev list.
  2. Update the version number in maven/pom/pom.xml (remove -SNAPSHOT) and commit changes
  3. Tag struts/maven/trunk/pom as STRUTS_MASTER_X where X=version
  4. Update the version number to the next SNAPSHOT and commit changes
  5. Check out the tag
  6. 'mvn deploy' to deploy to people.apache.org/builds/struts/m2-staging-repository
  7. Upload a signature for the deployed pom
  8. Move m2-staging-repository underneath a struts-master-X directory, so it's clear for the next release
  9. Post release vote on dev@, referring to the (moved) staging repo
  10. Wait 72 hours, then post vote result
  11. Move the files to people.apache.org/repo/m2-ibiblio-rsync-repository

3. References

  • No labels