These notes are for the project maintainers to help with releasing artifacts to Maven Central.
- Set up
~/.m2/settings.xml
with$username
and$password
fromhttps://oss.sonatype.org/
:
<settings>
<servers>
<server>
<id>ossrh</id>
<username>$username</username>
<password>$password</password>
</server>
</servers>
</settings>
- Configure PGP keys locally using GnuPG (aka GPG) so that artifacts can be signed.
- Make sure GPG can use TTY to get password. In bash:
export GPG_TTY=$(tty)
- Prepare release:
mvn release:prepare -P release-profile -DpushChanges=false
The -DpushChanges=false
avoids pushing the new release commits to GitHub, in case there's some problem that requires a rollback.
- Check if everything went okay, then deploy:
mvn release:perform -P release-profile -DlocalCheckout
The -DlocalCheckout
is needed if changes were not pushed above. This tells Maven to use the new release from the local repo instead of pulling from GitHub.
-
Update
scripts/jqf-driver.sh
andscripts/instrument.sh
with new version numbers. -
Log on to the Nexus Repository Manager to close + release. Wait.
-
If the release went file and changes were not pushed in step 2, then run
git push
.