Skip to content
Eric Evans edited this page Nov 6, 2014 · 3 revisions

How To Release

Prerequisites

You must have a GPG key, the correct Sonatype OSSRH karma, and an appropriate $HOME/.m2/settings.xml. See http://central.sonatype.org/pages/apache-maven.html.

Update versioning

Update the pom.xml to reflect the non-snapshot, release version. The easiest way to accomplish this is with the Maven versions plugin.

mvn versions:set -DnewVersion=${newVersion}
Build and Deploy

Compile the artifacts, running all of the tests, and deploy them to the central repository.

mvn clean && mvn -P release deploy -DskipITs=false
Test Staging
Log into https://oss.sonatype.org and inspect the repository and artifacts.
Tag

If the artifacts check out, add a GPG signed, annotated tag in the form ${major}.${minor}.${release}.

git tag -a -u ${keyID} -m ${message} ${tagName} [${head}]
Release

Release the staging repository. This can be done from the web UI at https://oss.sonatype.org, or by using the nexus-staging Maven plugin.

mvn nexus-staging:release
Create Github release
Add a new release on https://github.com/OpenNMS/newts/releases (this requires that you have already tagged, see above). Upload .tar.gz, tar.bz2, and zip artifacts (created in assembly/target during the compile/deploy step). It is not necessary to upload the source artifacts, Github includes those automatically.
Update http://newts.io
Add a release announcement to http://opennms.github.io/newts/news/.
Twitter
Make a release announcement on Twitter from @newtsproject.
Update wiki

Update version references in the wiki. At a minimum:

  • UsingJava.rst
  • GettingStarted.rst
  • UpandRunning.rst
  • RestService.rst
Update versioning (yes, again)

Update the versioning to reflect the new snapshot. The easiest way to accomplish this is with the Maven versions plugin.

mvn versions:set -DnewVersion=${newVersion}-SNAPSHOT
Clone this wiki locally