Liking cljdoc? Tell your friends :D

Public Release Manuel

::: warning Public Release means deploy to Maven Central. Only core team members are granted to deploy into Public Repository. :::

Setup GPG

Install on macOS

brew install gnupg

Generate key if you don't have it.

gpg --full-generate-key

Publish public key

gpg --send-keys [key-id] --keyserver hkp://subkeys.pgp.net

Show keys

gpg --list-keys

Setup Sonatype Authentication

Edit and put below configurations into ~/.m2/settings.xml

<servers>
  <server>
    <id>sonatype-nexus-snapshots</id>
    <username>{username}</username>
    <password>{password}</password>
  </server>
  <server>
    <id>sonatype-nexus-staging</id>
    <username>{username}</username>
    <password>{password}</password>
  </server>
</servers>

Cut Branch

It's only need for feature release, you should cut a branch from master.

git checkout -b 2.6

Bump Release Version

mvn versions:set -DgenerateBackupPoms=false -DnewVersion=2.6.0
git commit -am '(release) prepare release v2.6.0-rc0'

Package and Deploy to Sonatype

mvn clean deploy -DskipTests -Prelease -Pscala-2.11 -Pspark-2.4
mvn clean deploy -DskipTests -Prelease -Pscala-2.12 -Pspark-3.0

Publish Release

Go to Sonatype Repository

  1. verify artifacts
  2. close repository
  3. release to Maven Central

Announce on GitHub

Edit at GitHub Release Page

Bump Development Version

mvn versions:set -DgenerateBackupPoms=false -DnewVersion=2.7.0-SNAPSHOT
git commit -am '(release) prepare for next development iteration'

Can you improve this documentation?Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close