Skip to content

Publish to Maven Central (#375) - #376

Merged
b-re-w merged 2 commits into
developfrom
feat/maven-central-publish
Nov 7, 2026
Merged

b-re-w merged 2 commits into
developfrom
feat/maven-central-publish

Conversation

@b-re-w

@b-re-w b-re-w commented Nov 7, 2026

Copy link
Copy Markdown
Member

Closes #375

  • gradle/central-publishing.gradle.kts, applied by the library, KSP and plugin builds: POM metadata, javadoc/sources jars, in-memory GPG signing only when MAVEN_GPG_PRIVATE_KEY is set (keyless publishToMavenLocal still works), local centralStaging repo.
  • .github/scripts/release/central-bundle.sh (sign, check POMs/signatures, zip) and central-upload.sh (Central Portal upload, adapted from the compose fork's proven script).
  • .github/workflows/maven-central.yml: v* tag -> bundle on macOS + upload in the maven-central environment; workflow_dispatch with dry_run; pull requests touching the setup run the dry run.
  • 14 coordinates: library (common + android, androidNativeArm64/X64, desktop, iosArm64/SimulatorArm64/X64, linuxX64, macosArm64, wasm-js), ksp, gradle-plugin and its marker. wasm-runtime is skipped until CI can build Emscripten CPython.
  • desktopNativeMain isDirectory: opendir instead of stat (st_mode width differs macOS/Linux; metadata compilation rejected it).
  • Docs: ROADMAP 15.1, getting-started section 04 (mavenCentral()).

Local: publishAllToCentralStaging --dry-run EXIT=0; central-bundle.sh --throwaway-key EXIT=0 (880 files, all signatures verify); keyless publishAllToMavenLocal EXIT=0 (14 POMs); compileKotlinMacosArm64 + AndroidNativeArm64 + Desktop EXIT=0. Upload itself is verified only by the first tag.

…#375)

Shared gradle/central-publishing.gradle.kts adds POM fields, javadoc and
sources jars, in-memory signing when a key is present, and a
centralStaging repository. maven-central.yml bundles on macOS and
uploads to the Central Portal on a version tag; a pull request touching
the setup runs a dry run signed with a throwaway key.

desktopNativeMain isDirectory uses opendir instead of stat: st_mode
differs in width between macOS and Linux and the shared metadata
compilation that publishing runs rejected it.
@b-re-w
b-re-w merged commit 71e4598 into develop Nov 7, 2026
2 checks passed
@b-re-w
b-re-w deleted the feat/maven-central-publish branch November 7, 2026 02:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant