summaryrefslogtreecommitdiff
path: root/RELEASING.md
blob: a7ddd36fb97fbbf2633119965f664f5bb0f6ec03 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
RELEASING
=========

This file outlines how to publish a new release to Maven Central.

Prerequisites 
-------------

* You will need the Carbonado GPG key and passphrase to continue.  Contact
  @jesterpm or @pranaydalmia to obtain them.

* You will need an account with Sonatype Nexus. You can create that
  [here](https://issues.sonatype.org/secure/Signup!default.jspa). Contact
  @jesterpm or @pranaydalmia for access to the Carbonado repository.

Process
-------

1. Increment the version number appropriately.
   Use [Semantic Versioning](http://semver.org/).

    VERSION=1.2.4
    mvn versions:set -DnewVersion=$VERSION

2. Verify the release and make sure all is well.

    mvn clean verify -P release

3. Commit and tag the latest release.

    git commit -am "Release $VERSION"
    git tag -a v$VERSION -m "Release $VERSION"

4. Deploy to Sonatype:

    mvn clean deploy -P release

5. Push commit and tag to GitHub

    git push origin master
    git push origin v$VERSION

6. Create a new Releases on GitHub. Use the tag you just created and optionally
   include a change log. Attach the compiled, sources, and javadoc jar files,
   along with the .asc signature files.