Skip to content

Releasing nexmo java

Yvonne Allen edited this page Jul 27, 2020 · 12 revisions

For The First Time

For security reasons, releases to Maven Central may only be made by Nexmo employees. If you are a Nexmo employee, and you want to make a release, please contact @yallen011 (Yvonne Allen) or another member of the Developer Relations team first!

In order to release, you must first have the correct GPG keys. These should be unzipped into the directory publishing under `nexmo-java.

Then create a file called gradle.properties and populate it with the following:

signing.keyId=67345417
signing.password=PASSWORD_GOES_HERE
signing.secretKeyRingFile=./publishing/secring.gpg

maven.username=USERNAME_GOES_HERE
maven.password=PASSWORD_GOES_HERE

Release Checklist:

Create a x.y.z-release branch off of develop.

git checkout -b x.y.z-release develop

On Release Branch:

  • Ensure the README.md is up-to-date.
  • Update CHANGELOG.md with any changes, and set the version number.
  • Run gradle clean test
  • git commit updates to README.md and CHANGELOG.md
  • Run bumpversion [major|minor|patch]

Merge to master

git checkout master
git merge --no-ff x.y.z-release
git push

Tag the Release

Bumpversion will automatically tag the release but it doesn't necessarily pick the correct commit.

git tag -f vx.y.z
git push --tags

Prepare the Release on GitHub

  • Edit the tag within Releases and publish the release so it's marked as latest on the releases page
  • Run gradle build
  • Run gradle zip
  • Attach the client-x.y.z.zip and client-x.y.z-javadoc.jar

Make The Release

  • gradle uploadArchives - this may take some time
  • If the release is not a snapshot release:

Publish the Javadoc

I use these instructions but the last step doesn't work - it requires a force-push.

Write a Blog Post (maybe)

... so that people know what you're up to!