Skip to content

Publish to Maven Central with AndroidX-style versions; reorganise README - #19

Merged
abhishek-3289 merged 2 commits into
mainfrom
maven-central
Oct 27, 2026
Merged

abhishek-3289 merged 2 commits into
mainfrom
maven-central

Conversation

@abhishek-3289

Copy link
Copy Markdown
Collaborator

What changed

  • Maven Central instead of JitPack. The four libraries publish as io.github.appshipkit:<module>:<version> through the Vanniktech maven-publish plugin (0.37.0): sources and javadoc jars, full POM (name, description, MIT license, developer, SCM), signed on CI. Shared POM metadata lives in gradle.properties, per-module IDs in each module's gradle.properties. jitpack.yml and the JitPack release step are gone.
  • Release workflow validates the version, publishes to Central before tagging (so a failed upload leaves no tag), marks alpha/beta/rc releases as GitHub pre-releases, and closes the vX.Y.Z milestone (or a legacy "Next release" one) for stable releases.
  • AndroidX-style versions: scripts/bump-version.sh and Bump version add alpha, beta, rc and stable (1.1.0 → 1.2.0-alpha01 → … → 1.2.0-beta01 → 1.2.0-rc01 → 1.2.0); the release workflow rejects any other format.
  • Publish to Maven Central workflow (manual) publishes an already tagged version from a branch made from its tag, for backfilling 1.0.0.
  • README reorganised (contents, quick start, plugin table, shorter feature sections, reference); demo GIF removed; stale statements fixed. CONTRIBUTING documents the versioning, release steps and the one-time Central setup (namespace, token, GPG key, four secrets).

No library code changes; the public API is unchanged (apiCheck). Apps change dependency lines from com.github.appshipkit.devdeck:<module>:v1.0.0 to io.github.appshipkit:<module>:<version> (CHANGELOG).

How it was tested

  • ./gradlew ktlintFormat ktlintCheck lintDebug lintRelease testDebugUnitTest assembleDebug assembleRelease publishToMavenLocal apiCheck :sample:assembleQa passes; actionlint clean.
  • publishToMavenLocal produces io.github.appshipkit:{devdeck,devdeck-okhttp,devdeck-timber,devdeck-appdistribution}:1.0.0 with aar, sources, javadoc, module and a complete POM; add-ons depend on io.github.appshipkit:devdeck.
  • bump-version.sh checked for every transition and refusal on a scratch copy; shellcheck clean.
  • Not tested: signing and the actual upload (no gpg locally; repository secrets not set yet). The first release after the one-time setup is the first real publish.

Checklist

  • Entry added under [Unreleased] in CHANGELOG.md (or the skip-changelog label is set)
  • ./gradlew ktlintFormat ktlintCheck lintDebug testDebugUnitTest passes
  • README / sample README updated if the public API or behaviour changed
  • Screenshots attached for UI changes

@abhishek-3289 abhishek-3289 added this to the v1.1.0 milestone Oct 27, 2026
@abhishek-3289
abhishek-3289 merged commit 3e1bd04 into main Oct 27, 2026
3 checks passed
@abhishek-3289
abhishek-3289 deleted the maven-central branch October 27, 2026 08:37
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.

2 participants