new process for publishing snapshots and releases to Sonatype #2535
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The Engine's current processes for deploying snapshot builds and publishing releases to Maven Central are broken.
That's because they rely on Sonatype's Open-Source Software Repository Hosting (OSSRH) service, which sunsetted on June 30, 2025.
This PR attempts to migrate these processes to Sonatype's new Central Publisher APIs.
The new process for deploying snapshot builds attempts to follow the current instructions at https://central.sonatype.org/publish/publish-portal-snapshots . I've added the new credentials to the GitHub repo's action secrets. I've also enabled snapshots for the "org.jmonkeyengine" namespace. However, I haven't tested the new process yet.
The new process for publishing releases to Maven Central uses the Portal OSSRH Staging API described at https://central.sonatype.org/publish/publish-portal-ossrh-staging-api . Note there are 3 upload steps. First the deployment files are uploaded (using Gradle) to Sonatype's new OSSRH staging area. Then they are uploaded from the staging area (using a new bash script) to Sonatype's Central Publisher Portal. The final upload is a manual step (performed at Sonatype's Central Publisher website) that publishes the CPP deployment to Maven Central. While this process is closely based on my personal process for publishing releases in the "com.github.stephengold" namespace, I haven't tested it on the "org.jmonkeyengine" namespace yet.
Note: since I uploaded my personal credentials to the GitHub repo's action secrets, the new processes will fail if I ever regenerate my Sonatype user token. Once the new processes are tested, the release manager should update those secrets to their own credentials.