Publish the Kotlin client to Maven Central on release - #81
Merged
Merged
Conversation
The docs already tell Kotlin users to install dev.cocoar:signalarrr, but the release workflow published only to NuGet and npm. The Kotlin modules now use the vanniktech maven-publish plugin for the Central Portal: sources and javadoc jars, a complete POM (developer, SCM connection), and signing with an in-memory key when one is provided, so publishToMavenLocal keeps working without it. The release workflow gains a publish-kotlin job that builds and tests the client at the release version, fails early when a Maven secret is missing, and then publishes and releases both modules. The docs deploy waits for it, since they advertise the package. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
windischb
force-pushed
the
claude/maven-central-publish
branch
from
September 26, 2026 05:37
142119a to
fcf1106
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
dev.cocoar:signalarrr/dev.cocoar:signalarrr-ksp, but the release workflow only published NuGet and npm.com.vanniktech.maven.publish(0.37.0) replaces the baremaven-publishsetup. Shared config in the rootbuild.gradle.kts: Central Portal target, sources + (empty) javadoc jars, full POM including developer and SCM connection, and signing whensigningInMemoryKeyis present — sopublishToMavenLocalstill works locally without a key.cd-deploy-stable.yml: newpublish-kotlinjob — builds and tests at the release version, checks that all four Maven secrets are set, then runspublishAndReleaseToMavenCentral.deploy-docsnow waits for it.CONTRIBUTING.mddocuments the secrets and that Maven Central versions can't be deleted or overwritten.Secrets (already set on the repo)
MAVEN_CENTRAL_USERNAME,MAVEN_CENTRAL_PASSWORD(Central Portal user token),MAVEN_SIGNING_KEY,MAVEN_SIGNING_KEY_PASSWORD(RSA 4096 key764EE0353B4BB400, published on keys.openpgp.org).Test plan
./gradlew buildpassespublishToMavenLocalproduces jar, sources, javadoc and a complete POM for both modulespublishAndReleaseToMavenCentral --dry-runincludes both modules🤖 Generated with Claude Code