Skip to content

Releasing

Stu Arnett edited this page Apr 8, 2021 · 2 revisions

Only for project maintainers

This project uses a release plugin to handle releases. One gradle task will take care of everything aspect of publishing. Note that you cannot publish a release without appropriate credentials and access privileges.

Run the Tests First!

Before you publish any release, run the entire test suite first. All tests must pass, or you must have an obvious and justifiable reason to release with any failed unit test.

The release Task

To execute a release, simply run the following gradle command:

./gradlew release -Prelease.stage=final -Prelease.scope={major|minor|patch}

Here, the release scope corresponds with a major, minor, or patch version increment (you must choose one). The versioning is all based on tags, so when you execute this command, the plugin will detect the current version based on the latest git tag, and increment it according to the specified scope.

Keep Versions Out of the Build File

Because we use semantic versioning with tags, there is no need for versions in the build file. In fact, committing a hard-coded version will counteract the semantic versioning and cause issues in future builds.