These notes are for the project maintainers to help with releasing artifacts to Maven Central.
- Set up
~/.m2/settings.xmlwith$usernameand$passwordfromhttps://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.shandscripts/instrument.shwith 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.