| :linkattrs: | |
| = 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 version of the subproject in either `tools/deps.toml` or | |
| `tools/nongoogle.toml` 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 -DperformRelease=true | |
| ---- | |
| * 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 | |
| --------- |