You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@portals.apache.org by Apache Wiki <wi...@apache.org> on 2013/02/22 01:17:55 UTC

[Portals Wiki] Trivial Update of "Applications/Release_Process" by Woonsan Ko

Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Portals Wiki" for change notification.

The "Applications/Release_Process" page has been changed by Woonsan Ko:
http://wiki.apache.org/portals/Applications/Release_Process

New page:
= Release Steps Overview =

There are several Apache Portals Applications projects. Each project has its own independent release schedules and life cycles.
All of the steps below apply to each Apache Portals Applications project releases, unless otherwise specified.

== Common Release Steps ==

 1. Environment setup for releasing artifacts (same for SNAPSHOTs and releases)

  1. Increase the default Java heap available to Maven

    ''export MAVEN_OPTS="-Xmx256m -XX:MaxPermSize=128m"''

  1. Use the JDK 1.6.

  1. Use Maven 2.0.x.

  1. Make sure the '''Release Manager Configuration Guide''' steps have been performed.

 1. Prepare the source for release:

  1. Cleanup JIRA so the Fix Version in issues resolved since the last release includes this release version correctly.

  1. Update the text files in a working copy of the project root

   1. Review and update README file (README or README.txt) if needed.

   1. Commit any changes back to svn.

  1. Stage any Roadmap or Release landing pages on the site.

 1. Checkout a clean copy of the trunk (on the specific branch if needed) to release using command line svn.

  ''Do not use Eclipse to do the checkout. The extra dot (.) files created by Eclipse throws off the rat:check processing.''

 1. Verify the source has the required license headers before trying to release.

  TODO: Consider to improve automation for this. For example,

  ''$ mvn -P pedantic verify -DskipTests''

 1. Do a dry run of the release:prepare step:

  ''$ mvn -P apache-release release:prepare -DautoVersionSubmodules=true -DdryRun=true''

  The dry run will not commit any changes back to SVN and gives you the opportunity to verify that the release process will complete as expected. You will be prompted for the following information :

   * Release version - take the default
   * SCM release tag - DO NOT TAKE THE DEFAULT - ${project.version}
   * New development version - take the default
   * GPG Passprhase

  If you cancel a release:prepare before it updates the pom.xml versions, then use the release:clean goal to just remove the extra files that were created.

  The Maven release plugin checks for SNAPSHOT dependencies in pom's. It will not complete the prepare goal until all SNAPSHOT dependencies are resolved.
  
 1. Verify that the release process completed as expected

  1. The release plugin will create pom.xml.tag files which contain the changes that would have been committed to SVN. The only differences between pom.xml.tag and it's corresponding pom.xml file should be the version number.
  1. Check release.properties and make sure that the scm properties have the right version. Sometimes the scm location can be the previous version not the next version.
  1. Verify signatures (Verifying release signatures)

 1. Cleanup the release prepare files again:

  ''$ mvn -P apache-release release:clean''

 1. Prepare the release

  1. Run the "release:prepare" step for real this time. You'll be prompted for the same version information.

    ''$ mvn -P apache-release release:prepare -DautoVersionSubmodules=true''

  1. Backup (zip or tar) your local release candidate directory in case you need to rollback the release after the next step is performed.