| = Deploy Gerrit Artifacts |
| |
| [[deploy-configuration-setting-maven-central]] |
| == Deploy Configuration settings for Maven Central |
| |
| Some Gerrit artifacts (e.g. the Gerrit WAR file, the Gerrit Plugin API |
| and the Gerrit Extension API) are published on Maven Central in the |
| `com.google.gerrit` repository. |
| |
| To be able to publish artifacts to Maven Central some preparations must |
| be done: |
| |
| * Create an account on |
| link:https://issues.sonatype.org/secure/Signup!default.jspa[Sonatype's Jira]. |
| + |
| Sonatype is the company that runs Maven Central and you need a Sonatype |
| account to be able to upload artifacts to Maven Central. |
| |
| * Configure your Sonatype user and password in `~/.m2/settings.xml`: |
| + |
| ---- |
| <server> |
| <id>sonatype-nexus-staging</id> |
| <username>USER</username> |
| <password>PASSWORD</password> |
| </server> |
| ---- |
| |
| * Request permissions to upload artifacts to the `com.google.gerrit` |
| repository on Maven Central: |
| + |
| Ask for this permission by adding a comment on the |
| link:https://issues.sonatype.org/browse/OSSRH-7392[OSSRH-7392] Jira |
| ticket at Sonatype. |
| + |
| The request needs to be approved by someone who already has this |
| permission by commenting on the same issue. |
| |
| * Generate and publish a PGP key |
| + |
| Generate and publish a PGP key as described in |
| link:http://central.sonatype.org/pages/working-with-pgp-signatures.html[ |
| Working with PGP Signatures]. |
| + |
| Please be aware that after publishing your public key it may take a |
| while until it is visible to the Sonatype server. |
| + |
| The PGP key is needed to be able to sign the artifacts before the |
| upload to Maven Central. |
| + |
| The PGP passphrase can be put in `~/.m2/settings.xml`: |
| + |
| ---- |
| <settings> |
| <profiles> |
| <profile> |
| <id>gpg</id> |
| <properties> |
| <gpg.executable>gpg2</gpg.executable> |
| <gpg.passphrase>mypassphrase</gpg.passphrase> |
| </properties> |
| </profile> |
| </profiles> |
| <activeProfiles> |
| <activeProfile>gpg</activeProfile> |
| </activeProfiles> |
| </settings> |
| ---- |
| + |
| It can also be included in the key chain on OS X. |
| |
| [[deploy-configuration-settings-xml]] |
| == Deploy Configuration in Maven `settings.xml` |
| |
| Gerrit Subproject Artifacts are stored on |
| link:https://developers.google.com/storage/[Google Cloud Storage]. |
| Via the link:https://console.developers.google.com/project/164060093628[Developers Console] the |
| Gerrit maintainers have access to the `Gerrit Code Review` project. |
| This projects host several buckets for storing Gerrit artifacts: |
| |
| * `gerrit-api`: |
| + |
| Bucket to store the Gerrit Extension API Jar and the Gerrit Plugin API |
| Jar. |
| |
| * `gerrit-maven`: |
| + |
| Bucket to store Gerrit Subproject Artifacts (e.g. `gwtjsonrpc` etc.). |
| |
| To upload artifacts to a bucket the user must authenticate with a |
| username and password. The username and password need to be retrieved |
| from the link:https://console.developers.google.com/project/164060093628[ |
| Google Developers Console]: |
| |
| * In the menu on the left select `Storage` -> `Cloud Storage` > |
| > `Storage access` |
| * Select the `Interoperability` tab |
| * If no keys are listed under `Interoperable storage access keys`, select "Create a new key" |
| * Use the `Access Key` as username, and `Secret` as the password |
| |
| To make the username and password known to Maven, they must be |
| configured in the `~/.m2/settings.xml` file. |
| |
| ---- |
| <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> |
| <servers> |
| <server> |
| <id>gerrit-api-repository</id> |
| <username>GOOG..EXAMPLE.....EXAMPLE</username> |
| <password>EXAMPLE..EXAMPLE..EXAMPLE</password> |
| </server> |
| <server> |
| <id>gerrit-maven-repository</id> |
| <username>GOOG..EXAMPLE.....EXAMPLE</username> |
| <password>EXAMPLE..EXAMPLE..EXAMPLE</password> |
| </server> |
| <server> |
| <id>gerrit-plugins-repository</id> |
| <username>GOOG..EXAMPLE.....EXAMPLE</username> |
| <password>EXAMPLE..EXAMPLE..EXAMPLE</password> |
| </server> |
| </servers> |
| </settings> |
| ---- |
| |
| [[deploy-configuration-subprojects]] |
| === Gerrit Subprojects |
| |
| * You will need to have the following in the `pom.xml` to make it |
| deployable to the `gerrit-maven` storage bucket: |
| |
| ---- |
| <distributionManagement> |
| <repository> |
| <id>gerrit-maven-repository</id> |
| <name>Gerrit Maven Repository</name> |
| <url>gs://gerrit-maven</url> |
| <uniqueVersion>true</uniqueVersion> |
| </repository> |
| </distributionManagement> |
| ---- |
| |
| |
| * Add this to the `pom.xml` to enable the wagon provider: |
| |
| ---- |
| <build> |
| <extensions> |
| <extension> |
| <groupId>com.googlesource.gerrit</groupId> |
| <artifactId>gs-maven-wagon</artifactId> |
| <version>3.3</version> |
| </extension> |
| </extensions> |
| </build> |
| ---- |
| |
| |
| GERRIT |
| ------ |
| Part of link:index.html[Gerrit Code Review] |
| |
| SEARCHBOX |
| --------- |