TimerButton publishes to Maven Central as:
implementation("com.goeslocal:timerbutton-compose:<version>")
implementation("com.goeslocal:timerbutton-view:<version>")
implementation("com.goeslocal:timerbutton:<version>") // compatibility bundle- Create a Central Portal account at https://central.sonatype.com/.
- Register and verify the
com.goeslocalnamespace with the DNSTXTrecord Central gives you. - Generate a Central Portal user token.
- Install GPG, create a signing key, and publish the public key to a keyserver.
brew install gnupg
gpg --full-generate-key
gpg --list-secret-keys --keyid-format LONG
gpg --keyserver keyserver.ubuntu.com --send-keys <KEY_ID>
gpg --armor --export-secret-keys <KEY_ID>Put secrets in ~/.gradle/gradle.properties, not in this repository:
mavenCentralUsername=<central-token-username>
mavenCentralPassword=<central-token-password>
signingInMemoryKey=<ascii-armored-private-key>
signingInMemoryKeyPassword=<gpg-key-password>For tag-based publishing, add these repository secrets:
MAVEN_CENTRAL_USERNAME
MAVEN_CENTRAL_PASSWORD
SIGNING_KEY
SIGNING_PASSWORD
./gradlew clean :timerbutton-core:testDebugUnitTest :timerbutton-compose:assembleRelease :timerbutton-view:assembleRelease :timerbutton:publishToMavenLocal./gradlew publishAndReleaseToMavenCentralMaven Central can take 10 to 30 minutes before a published artifact is available.
Update the version and CHANGELOG.md, commit the release, then tag it:
git tag v<version>
git push origin v<version>Do not create a tag for a version that has already been published to Maven Central. Maven Central versions are immutable.