Make sure mvn clean install
, mvn site
, and
mvn javadoc:javadoc javadoc:test-javadoc
pass under JDK 8 - 21.
Upgrade dependencies to their latest release: run
./mvnw versions:update-properties
and commit the modified pom.xml
.
Write release notes. Run the relNotes script and append the output to HISTORY.md.
Update version numbers in
src/main/java/net/hydromatic/morel/Shell.java
, README
and
README.md
, and the copyright date in NOTICE
.
Switch to JDK 21.
Check that the sandbox is clean:
git clean -nx
mvn clean
Prepare:
export GPG_TTY=$(tty)
mvn -Prelease -DreleaseVersion=x.y.0 -DdevelopmentVersion=x.(y+1).0-SNAPSHOT release:prepare
Perform:
mvn -Prelease -DskipTests release:perform
Stage the release:
- Go to https://oss.sonatype.org and log in.
- Under "Build Promotion", click on "Staging Repositories".
- Select the line "morel-nnnn", and click "Close". You might need to click "Refresh" a couple of times before it closes.
After testing, publish the release:
- Go to https://oss.sonatype.org and log in.
- Under "Build Promotion", click on "Staging Repositories".
- Select the line "morel-nnnn", and click "Release".
Wait a couple of hours for the artifacts to appear on Maven central, and announce the release.
Update the github release list.
# Make sure that the tag you are about to generate does not already
# exist (due to a failed release attempt)
git tag
# If the tag exists, delete it locally and remotely
git tag -d morel-X.Y.Z
git push origin :refs/tags/morel-X.Y.Z
# Remove modified files
mvn release:clean
# Check whether there are modified files and if so, go back to the
# original git commit
git status
git reset --hard HEAD