You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

This document is intended to be kept up to date by the Akubra Release Manager.  It details the steps necessary to perform snapshot and official releases of Akubra.

Prerequisites

Verify Release Privileges

To perform a release, you must have:

  • Write access to the Akubra subversion repository hosted at fedora-commons.org.  This requires an administrator to add you to the akubra-committer LDAP group.
  • Write access to the org.akubraproject groupId in the snapshot and staging repositories hosted at oss.sonatype.org.  If you don't already have this, you will need to:
  • The login details for the fcrelman account at fedora-commons.org.  This is only required for official releases, not snapshots.  If you don't have this information yet, you can get it from the previous release manager.

Update Maven settings.xml

Akubra's root pom.xml already has the correct staging and snapshot repositories listed in the distributionManagement section.  In order to deploy, you will need to add your Sonatype OSS username and password to your local ~/.m2/settings.xml file:

<settings>
  <servers>
    <server>
      <id>sonatype-nexus-snapshots</id>
      <username>YourUsername</username>
      <password>YourPassword</password>
    </server>
    <server>
      <id>sonatype-nexus-staging</id>
      <username>YourUsername</username>
      <password>YourPassword</password>
    </server>
  </servers>
</settings>

Avoid Maven 2.2.0

Make sure you're using a recent version of Maven. As of this writing, the latest was 2.2.1, and it worked fine. In particular, avoid version 2.2.0: it has a serious bug that affects deployments: MNG-4235.

Snapshot Releases

From a clean, up-to-date copy of trunk, run the following command:

  • mvn clean javadoc:jar source:jar deploy

The snapshot will be immediately available in the public Sonatype repository: http://oss.sonatype.org/content/groups/public

Official Releases

Update KEYS

Make sure the KEYS file at the root of the source tree has your up to date public code signing key and signatures listed. If you don't yet have a code signing key, see Creating a Code Signing Key. When you are ready, append your key with the following command:

  • (gpg --list-sigs YourKeyID && gpg -a --export YourKeyID) >> KEYS

Do a Dry Run

This step is not required, but performs a useful sanity check without committing any changes. From a clean, up-to-date copy of trunk, run the following command:

  • mvn release:prepare -DdryRun=true

Tag and increment the project version

This step will set the version declared in the project's pom.xml files, commit the changes to trunk, tag the release, and finally, check in another trunk change that increments the next development version (e.g. x.y-SNAPSHOT) in the pom.xml files.

  • mvn release:prepare -Dresume=false -Dusername=YourSVNUsername -Dpassword=YourSVNPassword

Note: This may fail to compile part way through the process, complaining that an internal project dependency is not met. If this occurs, don't worry. Just run the following:

  • mvn install
  • mvn release:prepare -Dusername=YourSVNUsername -Dpassword=YourSVNPassword

Release to Staging

  • Check out the tagged release from subversion and "mvn install" it.
  • Change back to trunk
  • mvn release:perform -Darguments="-Dgpg.keyname=YourKeyID -Dgpg.passphrase=YourKeyPassword"

This will push all release artifacts to the staging repository.

Verify Staged Artifacts

  • No labels