Skip to content

Latest commit

 

History

History
98 lines (75 loc) · 2.7 KB

howto.md

File metadata and controls

98 lines (75 loc) · 2.7 KB

Morel HOWTO

How to make a release (for committers)

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.

Cleaning up after a failed release attempt (for committers)

# 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