Your ~/.gradle/gradle.properties file must contain:
signing.keyId=...
signing.password=...
signing.secretKeyRingFile=...
mavenCentralUsername=...
mavenCentralPassword=...Run these steps on any filesystem, except the javadocWeb step.
-
Make and test a snapshot release, see below.
-
git pull
-
In
build.gradle, ensure that "To use a snapshot version" is not enabled. -
Update the version number in
README.md,build.gradle, and in this file (multiple times in each). Ensure the version number inbuild.gradledoes not contain "-SNAPSHOT". -
Update
CHANGELOG.md. -
Save files and stage changes.
-
./gradlew publishToMavenCentral
-
Browse to https://central.sonatype.com/publishing/deployments, click "publish".
-
Add a git tag and commit:
VER=2.0.3 && \ git commit -m "Version $VER" && git push && \ git tag -a v$VER -m "Version $VER" && git push && git push --tags
-
Make a GitHub release.
- Browse to https://github.com/plume-lib/options/releases
- Click "draft a new release"
- Call it "options 2.0.3"
- Use the text from
CHANGELOG.mdas the description - Attach the .jar and -all.jar files from
build/libs/ - Click "publish release"
-
Finally, run on the CSE filesystem: git pull && ./gradlew javadocWeb
-
Update clients and test, so that if it's broken we can re-release.
-
git pull
-
Set version to end in "-SNAPSHOT".
-
Make the snapshot release.
-
Approach 1: to Maven Central
-
./gradlew publishToMavenCentral
-
In the clients' build.gradle: set version number and use:
repositories { maven { url = uri("https://central.sonatype.com/repository/maven-snapshots/") } } configurations.all { resolutionStrategy.cacheChangingModulesFor(0, "minutes") }
-
-
Approach 2: to Maven Local
-
./gradlew publishToMavenLocal
-
In the clients' build.gradle: set version number and use:
repositories { mavenLocal() }
-
-
-
Test the test snapshot release on some clients:
-
For the Checker Framework (don't skip running the tests):
# This ensures that the correct JDK is being used usecf THE-BRANCH-THAT-USES-THE-SNAPSHOT cd $cf checker/bin-devel/test-cftests-all.sh && checker/bin-devel/test-typecheck.sh && \ checker/bin-devel/test-plume-lib.sh
-
For Daikon: make compile junit test
-