Use the Versions Maven Plugin. Rules are configured in version-rules.xml
.
./mvnw versions:use-next-releases
./mvnw release:prepare -DreleaseVersion=0.17.0 -DdevelopmentVersion=0.17.1-SNAPSHOT
./mvnw release:perform -DreleaseVersion=0.17.0 -DdevelopmentVersion=0.17.1-SNAPSHOT
release:prepare
does Github tags and commits, while release:perform
signs the artifacts and uploads them to the staging repositoring on https://oss.sonatype.org.
After that, manually verify the uploaded artifacts on https://oss.sonatype.org/#stagingRepositories, click Close
to trigger Sonatype's verification, and then Release
.