| Making a Release of a Gerrit Subproject / Core Plugin |
| ===================================================== |
| |
| [[make-snapshot]] |
| Make a Snapshot |
| --------------- |
| |
| * Only for plugins: |
| ** In the `pom.xml` update the Gerrit version under `properties` > |
| `Gerrit-ApiVersion` to the version of the new Gerrit |
| release. |
| ** Make sure that the URL for the Maven repository with the id |
| `gerrit-api-repository` in the `pom.xml` is correct. |
| + |
| If `Gerrit-ApiVersion` references a released Gerrit version it must be |
| `https://gerrit-api.stoarge.googleapis.com/release/`, if |
| `Gerrit-ApiVersion` references a snapshot Gerrit version it must be |
| `https://gerrit-api.storage.googleapis.com/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 in the Gerrit parent `pom.xml` for the Subproject |
| 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/plugin] |
| |
| * Update the top level `pom.xml` in the subproject/plugin 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] or |
| link:dev-release-deploy-config.html#deploy-configuration-core-plugins[Core Plugins] |
| |
| * 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] |