Skip to content

Latest commit

 

History

History
63 lines (48 loc) · 2.77 KB

release-process.md

File metadata and controls

63 lines (48 loc) · 2.77 KB

How to release

Releases are published to Maven Central via OSS Repository Hosting

Prerequisites

The credentials needed for signing and uploading should be stored in your gradle.properties file in your home directory. The content would look like this:

signing.keyId=YourKey
signing.password=YourKeyPassword
signing.secretKeyRingFile=/path/to/your/key.gpg

ossrhUsername=yourOssrhUsername
ossrhPassword=yourOssrhPassword

If you don't have a public/private key, see the gradle signing documentation for instructions.

If you don't have a OSSRH account, then sign up for one.

Releasing

Bump the version number:

  1. git checkout master
  2. git pull
  3. Change the version variable in the root build.gradle file. Populace uses semantic versioning.
  4. Search for the old version number and replace with new version. This will normally only be found in documentation.
  5. Check in and push changes.

Create release branch:

  1. git checkout master
  2. git pull
  3. git checkout -b release/<new version number> e.g. git checkout -b release/1.2
  4. git push origin release/<new version number>

Packaging release

Couldn't be easier. Just run:

gradlew uploadArchives

This will build the archives and upload them to the staging area of Sonatype OSS. They then need to be released.

Promoting release on maven central

Follow these Sonatype OSS release instructions

Release on Github

Create a release on Github. The release description should include details of all issues resolved, any breaking changes and anything else relevant to the release.

Releasing the javadocs

Aside from the javadocs jar released to maven central, the javadocs for the released version should also be made available on the projects website i.e. http://datalorax.github.io/populace. This is currently a manual process.

  1. Switch to the release branch: git checkout release/<release-number>
  2. Build the javadocs: gradlew clean javadoc
  3. Copy the contents of /populace/populace-core/build/docs/javadoc and /populace/populace-module-jaxb-annotations/build/docs/javadoc somewhere outside the repository
  4. Switch to the gh-pages branch git checkout gh-pages
  5. Copy the contents of the core module's javadoc directory into javadocs/v<release-number>/populace-core
  6. Copy the contents of the jaxb module's javadoc directory into javadocs/v<release-number>/populace-module-jaxb-annotations
  7. Update the downloads section of /javadocs/index/html to include buttons for the new core and jaxb versions.
  8. Add, commit and push your changes.