-
Notifications
You must be signed in to change notification settings - Fork 3
Releasing
Wiki ▸ Development ▸ Releasing
To create a key, follow these instructions at sonatype.org. If you're using Mac OS X, use Homebrew to install gnupg.
The signing key should exist as shown below.
# brew info gnupg
gnupg: stable 1.4.19 (bottled)
GNU Pretty Good Privacy (PGP) package
https://www.gnupg.org/
/usr/local/Cellar/gnupg/1.4.19 (53 files, 5.5M)
# export PATH=$PATH:/usr/local/Cellar/gnupg/1.4.19/bin/
# gpg --list-secret-key
/Users/eron/.gnupg/secring.gpg
------------------------------
sec 2048R/3D48BB6D 2015-11-14
uid Eron Wright <[email protected]>
ssb 2048R/1B7E9EEC 2015-11-14
To publish to Maven Central, an account was provisioned by filing OSSRH-18841 as per these instructions.
sbt itself handles the core publishing task of uploading artifacts to a staging area on Maven Central. It is able to publish both snapshots and releases, depending on the current version number.
The sbt-release plugin manages the release process. A key feature is automatic handling of the version number. The concrete steps may be seen in build.sbt.
The sbt-sonatype plugin automates the staging procedure that culminates in a published release on Maven Central.
The sbt-pgp plugin handles digital signing of the artifacts.
Here's the procedure to release cookie-datasets.
- Ensure that the working directory is clean. Subsequent tasks will fail otherwise.
- Execute
sbt release
.
- Answer questions regarding the 'release' and 'next' version number. Releases are of the form
x.y.z
, whereas next versions are of the formx.y-SNAPSHOT
. - The plugin will update the version number, build & test, sign & upload, then drive thru the remote staging procedure.
- Finally the version will be updated to 'next'.
- Once the binary is on Maven Central (within a few minutes?), update the Spark Package.
- This is amenable to automation but it is untested at the moment.
- Log in to spark-packages, and publish the release using the coordinates and commit id from (2).
Getting Started
Formats
Development