blob: 956bd29b2eef9b99b91f6ae5bdd8efcbc4cb3a14 [file] [log] [blame]
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]