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 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/* $
    $ svn copy -r 422607 -m "Tagged Struts 1.3.5 at revision 422607"
    $ cd ../../
    $ svn co
  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
  3. Obtain a fresh checkout of the revision to release. (See sample code line 1.)
  4. Make sure that 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
  9. Ensure that everything under builds/struts/[version], builds/struts/m2-staging-repository and www/ 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
  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

3. References

  • No labels