|  | = Making a Release of a Gerrit Subproject | 
|  |  | 
|  | [[make-snapshot]] | 
|  | == Make a Snapshot | 
|  |  | 
|  | * Build the latest snapshot and install it into the local Maven | 
|  | repository: | 
|  | + | 
|  | ---- | 
|  | mvn clean install | 
|  | ---- | 
|  |  | 
|  | * Test Gerrit with this snapshot locally | 
|  |  | 
|  |  | 
|  | == Publish Snapshot | 
|  |  | 
|  | If a snapshot for a subproject was created that should be referenced by | 
|  | Gerrit while current Gerrit development is ongoing, this snapshot needs | 
|  | to be published. | 
|  |  | 
|  | * Make sure you have done the configuration needed for deployment: | 
|  | ** link:dev-release-deploy-config.html#deploy-configuration-settings-xml[ | 
|  | Configuration in Maven `settings.xml`] | 
|  | ** link:dev-release-deploy-config.html#deploy-configuration-subprojects[ | 
|  | Configuration for Subprojects in `pom.xml`] | 
|  |  | 
|  | * Deploy the new snapshot: | 
|  | + | 
|  | ---- | 
|  | mvn deploy | 
|  | ---- | 
|  |  | 
|  | * Change the `id`, `bin_sha1`, and `src_sha1` values in the `maven_jar` | 
|  | for the subproject in `/lib/BUCK` to the `SNAPSHOT` version. | 
|  | + | 
|  | When Gerrit gets released, a release of the subproject has to be done | 
|  | and Gerrit has to reference the released subproject version. | 
|  |  | 
|  |  | 
|  | [[prepare-release]] | 
|  | == Prepare the Release | 
|  |  | 
|  | * link:#make-snapshot[First create (and test) the latest snapshot for | 
|  | the subproject] | 
|  |  | 
|  | * Update the top level `pom.xml` in the subproject to reflect | 
|  | the new project version (the exact value of the tag you will create | 
|  | below) | 
|  |  | 
|  | * Create the Release Tag | 
|  | + | 
|  | ---- | 
|  | git tag -a -m "prolog-cafe 1.3" v1.3 | 
|  | ---- | 
|  |  | 
|  | * Build and install into local Maven repository: | 
|  | + | 
|  | ---- | 
|  | mvn clean install | 
|  | ---- | 
|  |  | 
|  |  | 
|  | [[publish-release]] | 
|  | == Publish the Release | 
|  |  | 
|  | * Make sure you have done the configuration needed for deployment: | 
|  | ** link:dev-release-deploy-config.html#deploy-configuration-settings-xml[ | 
|  | Configuration in Maven `settings.xml`] | 
|  | ** Configuration in `pom.xml` for | 
|  | link:dev-release-deploy-config.html#deploy-configuration-subprojects[subprojects] | 
|  |  | 
|  | * Deploy the new release: | 
|  | + | 
|  | ---- | 
|  | mvn deploy | 
|  | ---- | 
|  |  | 
|  | * Push the pom change(s) to the project's repository | 
|  | `refs/for/<master|stable>` | 
|  |  | 
|  | * Push the Release Tag | 
|  | + | 
|  | ---- | 
|  | git push gerrit-review refs/tags/v1.3:refs/tags/v1.3 | 
|  | ---- | 
|  |  | 
|  |  | 
|  | GERRIT | 
|  | ------ | 
|  | Part of link:index.html[Gerrit Code Review] | 
|  |  | 
|  | SEARCHBOX | 
|  | --------- |