Shell scripts to build and release are located int the tools directory.
Pre-release builds are not source controlled (no branch, no tag)
Command
./tools/build-and-copy.sh <version> <destination directory>Example
./tools/build-and-copy.sh 0.20.0-ALPHA-1 "/tmp/"The jars will be located in /tmp
Release builds are source controlled.
- Creates a
release-<version>branch - Creates a
<version>tag - Pushes the branch and tag to GitHub
- Stages the release to Maven Central
Command
./tools/build-and-stage.sh <version>Example
./tools/build-and-stage.sh 0.20.0Download the staged artifacts from Maven Central and run the integration test suite.
Example
/home/dhoard/Downloads/jmx_prometheus_javaagent-0.20.0.jar
/home/dhoard/Downloads/jmx_prometheus_httpserver-0.20.0.jarCommand
./tools/patch-and-run-integration-test-suite.sh <javaagent.jar> <httpserver.jar>Example
./tools/patch-and-run-integration-test-suite.sh /home/dhoard/Downloads/jmx_prometheus_javaagent-0.20.0.jar /home/dhoard/Downloads/jmx_prometheus_httpserver-0.20.0.jarIf the integration test suite in Step 2 passes, on Maven Central...
- Click
Closeto trigger Sonatype's verification - Once closed, click
Release
Verify the files are available via Maven Central (Maven)
Create a GitHub release
Checkout the main branch and increment the version
git checkout main
./tools/change-version.sh 1.0.0-SNAPSHOT
git add -u
git commit -m "prepare for next development iteration"