-
Follow Central recommendations for setting up gradle. Additionally, there's decent documentation on code signing in the gradle documentation
-
Ensure GPG is set up for signing jars.
-
Ensure
~/.gradle/gradle.properties
has the following contents for signing and uploading jars to Maven Central.
ossrhUsername=samrocketman
ossrhPassword=secret
Next we need to prepare the environment according to the signing plugin documentation for Gradle.
ORG_GRADLE_PROJECT_signingKey="$(gpg -a --export-secret-keys "Sam Gleske")"
read -ersp pass: ORG_GRADLE_PROJECT_signingPassword
export ORG_GRADLE_PROJECT_signingKey ORG_GRADLE_PROJECT_signingPassword
I now use in-memory signing keys because versions of GnuPG 2.1 and newer are challenging to set up for the signing Gradle plugin.
All Jervis releases are signed by Sam Gleske GPG key ID 7257E65F
. The long
fingerprint is the following.
8D8B F0E2 42D8 A068 572E BF3C E8F7 3234 7257 E65F
- Check test coverage and ensure it is high.
- Ensure groovydoc API is fully documented.
- Update wiki documentation for release.
- Update CHANGELOG.md with changes.
- Update CHANGELOG.md with release date.
- Update README maven and gradle examples to reflect latest version.
- Update pipeline scripts to grab the next version.
- Increment the plugin version in
build.gradle
to a stable release: e.g.0.2
. Commit. - Tag the current commit: e.g.
jervis-0.2
. - Upload the release.
./gradlew clean check publish
- Increment plugin version to next snapshot: e.g.
0.3-SNAPSHOT
. Commit.
This will initially upload the artifact to a staging repository.
- Visit Maven Central Nexus and follow instructions on releasing to production.
- Upload jervis-api docs for the latest release.
- Upload GitHub release notes by executing
./submit-github-release-notes.sh
.