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
Ensure that your settings.xml contains a <server> and <profile> for struts-staging (see the Suggested Settings section on StrutsMaintenanceMaven)
- Create the new directory on people.apache.org:/www/people.apache.org/builds/struts
- Obtain a fresh checkout of the revision to release. (See sample code line 1.)
- Make sure that people.apache.org/builds/struts/m2-staging-repository is empty
- Clear out your local org/apache/struts Maven repositiory.
- Build and test all jar and war artifacts. Build and deploy the website.
- Build and deploy (jars and poms only) to the staging repository.
- Create the assembly and upload it to people.apache.org/builds/struts/
- 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 .)
- Move 'm2-staging-repository' underneath builds/struts/x.x.x to keep things together, and make way for the next release.
- Tag the revision from step 2 (above)
- Obtain a clean checkout of the tag. Confirm that SVN revision numbers in pom.xml's match.
2. Releasing the struts-master pom
- Post your intention to release the struts-master pom to the dev list.
- Update the version number in maven/pom/pom.xml (remove -SNAPSHOT) and commit changes
- Tag struts/maven/trunk/pom as STRUTS_MASTER_X where X=version
- Update the version number to the next SNAPSHOT and commit changes
- Check out the tag
- 'mvn deploy' to deploy to people.apache.org/builds/struts/m2-staging-repository
- Upload a signature for the deployed pom
- Move m2-staging-repository underneath a struts-master-X directory, so it's clear for the next release
- Post release vote on dev@, referring to the (moved) staging repo
- Wait 72 hours, then post vote result
- Move the files to people.apache.org/repo/m2-ibiblio-rsync-repository