= 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 a Sonatype account as described in the
link:https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide#SonatypeOSSMavenRepositoryUsageGuide-2.Signup[
Sonatype OSS Maven Repository Usage Guide].
+
Sonatype is the company that runs Maven Central and you need a Sonatype
account for uploading artifacts to Maven Central.
* Configure your Sonatype user and password in `~/.m2/settings.xml`:
+
----
sonatype-nexus-staging
USER
PASSWORD
----
* 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:https://docs.sonatype.org/display/Repository/How+To+Generate+PGP+Signatures+With+Maven[
How To Generate PGP Signatures With Maven].
+
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`:
+
----
gpg
gpg2
mypassphrase
gpg
----
+
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://code.google.com/apis/console/?noredirect[API 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://code.google.com/apis/console/?noredirect[API Console]:
* Go to the `Gerrit Code Review` project
* In the menu on the left select `Google Cloud Storage` >
`Interoperable Access`
* Use the `Access Key` as username
* Click under `Secret` on the `Show` button to find the password
To make the username and password known to Maven, they must be
configured in the `~/.m2/settings.xml` file.
----
gerrit-api-repository
GOOG..EXAMPLE.....EXAMPLE
EXAMPLE..EXAMPLE..EXAMPLE
gerrit-maven-repository
GOOG..EXAMPLE.....EXAMPLE
EXAMPLE..EXAMPLE..EXAMPLE
gerrit-plugins-repository
GOOG..EXAMPLE.....EXAMPLE
EXAMPLE..EXAMPLE..EXAMPLE
----
[[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:
----
gerrit-maven-repository
Gerrit Maven Repository
gs://gerrit-maven
true
----
* Add this to the `pom.xml` to enable the wagon provider:
----
com.googlesource.gerrit
gs-maven-wagon
3.3
----
GERRIT
------
Part of link:index.html[Gerrit Code Review]
SEARCHBOX
---------