feat: Maven Central publishing for v0.1.0#2
Conversation
- maven-publish + signing plugins on :gort module - POM with MIT license, SCM, developer info - publishLibraryVariants(release) for Android - Signing only when GPG_PASSPHRASE present (CI only) - Release workflow publishes all KMP targets to Maven Central - Empty javadoc JAR for Sonatype compliance
ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Free Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThis PR adds Maven Central publishing for the gort module, including maven-publish and signing plugin configuration, publication POM metadata, conditional GPG signing, and CI workflow updates to build, publish, and attach gort-specific artifacts. Changes
Sequence Diagram(s)sequenceDiagram
participant Dev as Developer
participant CI as CI (GitHub Actions)
participant Gradle as Gradle (gort module)
participant GPG as GPG Signing
participant Maven as Maven Central
Dev->>CI: Push release workflow
CI->>Gradle: Run build & tests (with GRADLE_OPTS)
Gradle->>Gradle: Produce artifacts (`gort/build/libs/*.jar`) and javadocJar
Gradle->>GPG: Request signing (if GPG_PASSPHRASE present)
GPG-->>Gradle: Signed artifacts
Gradle->>Maven: Publish publications to Maven Central (`:gort:publishAllPublicationsToMavenCentralRepository`)
CI->>CI: Attach gort-specific JARs to release
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
📝 Coding Plan
Note 🎁 Summarized by CodeRabbit FreeYour organization is on the Free plan. CodeRabbit will generate a high-level summary and a walkthrough for each pull request. For a comprehensive line-by-line review, please upgrade your subscription to CodeRabbit Pro by visiting https://app.coderabbit.ai/login. Comment |
Publishing Setup
Adds Maven Central publishing to the
:gortlibrary module.Changes
maven-publish+signingplugins on:gortmodulepublishLibraryVariants("release")— only release variant publisheduseGpgCmd(), only in CI whenGPG_PASSPHRASEis set./gradlew :gort:publishAllPublicationsToMavenCentralRepositorySecrets Configured
GPG_PRIVATE_KEY,GPG_PASSPHRASE— same key as openspec-gradle (5E94CD91)SONATYPE_USERNAME,SONATYPE_PASSWORD— same Sonatype tokenPublished Targets (all from macOS runner)
After Merge
gh release create v0.1.0→ CI builds + publishes to Maven Centralzone.clanker, Artifact:gortimplementation("zone.clanker:gort:0.1.0")Summary by CodeRabbit
Chores
Documentation