[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/googleapis/api-common-java/java7/RELEASING.md [Back]  [Original]

One-time setup
==============

Set up Sonatype Account
-----------------------
* Sign up for a Sonatype JIRA account [here](https://issues.sonatype.org)
* Click *Sign Up* in the login box, follow instructions

Get access to repository
------------------------
* Go to [community support](https://issues.sonatype.org/browse/OSSRH)
* Ask for publish rights by creating an issue similar to [this one](https://issues.sonatype.org/browse/OSSRH-32031)
  * You must be logged in to create a new issue
  * Use the *Create* button at the top tab

* Generate the key `gpg --gen-key`
  * Keep the defaults, but specify a passphrase

* Determine your `gpg` version: `gpg -- version`

* Find the ID of your public key
  * If you're using GPG version 1.y.z, `gpg --list-secret-keys`
    * Look for the line with format `sec   2048R/ABCDEFGH 2015-11-17`
    * The `ABCDEFGH` is the ID for your public key
  * If you're using GPG version 2.y.z `gpg --list-secret-keys --keyid-format LONG`
    * Look for line with format `sec   rsa2048/ABCDEFGHIJKLMNOP`
    * The `ABCDEFGHIJKLMNOP` is the ID. It is 16-byte long, but Gradle
      only support 8-byte keys. Use the *last* 8 bytes of the key when
      following the rest of this document.
    * `gpg --export-secret-keys $HOME/.gnupg/secring.gpg`

* Upload your public key to a public server: `gpg --send-keys --keyserver hkp://pgp.mit.edu `

Add deploy credential settings
------------------------
* Create a settings file at `$HOME/.gradle/gradle.properties` with your key information and your sonatype username/password

```
signing.keyId=
signing.password=
signing.secretKeyRingFile=/usr/local/google/home//.gnupg/secring.gpg

ossrhUsername=
ossrhPassword=
```

To prepare a release
====================

Update version and deploy to Sonatype
-------------------------------------
1. Update `version.txt` to the release version you want
2. Run `./gradlew stageRelease` to:
  * Regenerate `gh-pages` branch containing Javadocs
  * Stage artifacts on Sonatype: to the staging repository if "-SNAPSHOT" is *not* included in the version; otherwise to the snapshot repository only
3. Submit a pull request, get it reviewed, and submit

Publish the release
-------------------
1. Run `./gradlew finalizeRelease`
  * Note: this will release **ALL** versions that have been staged to Sonatype:
    if you have staged versions you do not intend to release, remove these first
    from the [Nexus Repository Manager](https://oss.sonatype.org/) by logging in
    (upper right) and browsing staging repositories (left panel)
2. It will take some time (~10 min to ~8 hours) for the package to transition
3. Publish a new release on Github:
  * Go to the [releases page](https://github.com/googleapis/api-common-java/releases) and click "Draft a new release"
    in order to start a new draft.
  * Make sure the "Tag Version" is `vX.Y.Z` and the "Release Title" is `X.Y.Z`, where `X.Y.Z` is the release
    version as listed in the `version.txt` files.
  * Add the commits since the last release into the release draft. Try to group them into sections with related
    changes. Anything that is a breaking change needs to be marked with `*breaking change*`. Such changes are
    only allowed for alpha/beta modules and `@BetaApi` features.
  * Ensure that the format is consistent with previous releases. After adding any missing updates and
    reformatting as necessary, publish the draft.

Bump development version
------------------------
1. Update `version.txt` to the following "-SNAPSHOT" version

Web Proxy Viewer  |  New URL  |  Original Page