Apache Airavata

  1. Checkout a clean copy of the trunk to release using command line svn. Do not use Eclipse/Idea to do the checkout. The extra dot (.) and other metadata files created by IDE's throws off the rat:check processing.

    `git clone https://github.com/apache/airavata.git`
    
  2. Verify the source has the required license headers before trying to release:

    `mvn -P pedantic verify -DskipTests=true`
    
  3. 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
    • SCM release tag
    • New development version
    • GPG Passphrase - On a Mac if the passphrase is stored in a keychain, the passphrase is not prompted.

    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.

  4. Verify that the release process completed as expected

    • The release plugin will create pom.xml.tag files that contain the changes that would have been committed to SVN. The only difference between the pom.xml.tag and its corresponding pom.xml file should be the version number.
    • If other formatting changes have been made you should review the changes and then commit them svn commit -m "fixing formatting for release"
    • 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.
    • Verify signatures (Verifying release signatures)
  5. Once any failures or required updates have been committed to svn, rollback the release prepare files:

    `mvn -P apache-release release:rollback`
    
  6. Prepare the release: 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`
    

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


  • No labels