blob: 956bd29b2eef9b99b91f6ae5bdd8efcbc4cb3a14 [file] [log] [blame]
Edwin Kempin67e09dc2012-07-23 10:46:06 +02001Making a Release of a Gerrit Subproject / Core Plugin
2=====================================================
Martin Fick21e278e2012-02-23 13:45:54 -07003
Edwin Kempinbb8e6252012-07-31 14:30:35 +02004[[make-snapshot]]
5Make a Snapshot
6---------------
Martin Fick21e278e2012-02-23 13:45:54 -07007
Edwin Kempinbb8e6252012-07-31 14:30:35 +02008* Only for plugins:
9** In the `pom.xml` update the Gerrit version under `properties` >
10`Gerrit-ApiVersion` to the version of the new Gerrit
11release.
12** Make sure that the URL for the Maven repository with the id
13`gerrit-api-repository` in the `pom.xml` is correct.
14+
15If `Gerrit-ApiVersion` references a released Gerrit version it must be
Shawn Pearced5005002013-06-21 11:01:45 -070016`https://gerrit-api.stoarge.googleapis.com/release/`, if
Edwin Kempinbb8e6252012-07-31 14:30:35 +020017`Gerrit-ApiVersion` references a snapshot Gerrit version it must be
Shawn Pearced5005002013-06-21 11:01:45 -070018`https://gerrit-api.storage.googleapis.com/snapshot/`.
Shawn O. Pearce216b2e12012-06-05 17:53:13 -070019
Edwin Kempinbb8e6252012-07-31 14:30:35 +020020* Build the latest snapshot and install it into the local Maven
21repository:
22+
23====
24 mvn clean install
25====
26
27* Test Gerrit with this snapshot locally
Martin Fick21e278e2012-02-23 13:45:54 -070028
29
Edwin Kempinbb8e6252012-07-31 14:30:35 +020030Publish Snapshot
31----------------
Martin Fick21e278e2012-02-23 13:45:54 -070032
Edwin Kempinbb8e6252012-07-31 14:30:35 +020033If a Snapshot for a Subproject was created that should be referenced by
34Gerrit while current Gerrit development is ongoing, this Snapshot needs
35to be published.
Martin Fick21e278e2012-02-23 13:45:54 -070036
Edwin Kempinbb8e6252012-07-31 14:30:35 +020037* Make sure you have done the configuration needed for deployment:
38** link:dev-release-deploy-config.html#deploy-configuration-settings-xml[
39Configuration in Maven `settings.xml`]
40** link:dev-release-deploy-config.html#deploy-configuration-subprojects[
41Configuration for Subprojects in `pom.xml`]
Martin Fick21e278e2012-02-23 13:45:54 -070042
Edwin Kempinbb8e6252012-07-31 14:30:35 +020043* Deploy the new snapshot:
44+
Martin Fickec31ff42012-06-23 11:35:39 -060045====
Martin Fick21e278e2012-02-23 13:45:54 -070046 mvn deploy
Martin Fickec31ff42012-06-23 11:35:39 -060047====
Martin Fick21e278e2012-02-23 13:45:54 -070048
Edwin Kempinbb8e6252012-07-31 14:30:35 +020049* Change the version in the Gerrit parent `pom.xml` for the Subproject
50to the `SNAPSHOT` version
51+
52When Gerrit gets released, a release of the Subproject has to be done
53and Gerrit has to reference the released Subproject version.
Martin Fick21e278e2012-02-23 13:45:54 -070054
Martin Fick21e278e2012-02-23 13:45:54 -070055
Edwin Kempinbb8e6252012-07-31 14:30:35 +020056[[prepare-release]]
57Prepare the Release
58-------------------
59
60* link:#make-snapshot[First create (and test) the latest snapshot for
61the subproject/plugin]
Martin Fick21e278e2012-02-23 13:45:54 -070062
Edwin Kempin67e09dc2012-07-23 10:46:06 +020063* Update the top level `pom.xml` in the subproject/plugin to reflect
64the new project version (the exact value of the tag you will create
65below)
Martin Fick21e278e2012-02-23 13:45:54 -070066
Edwin Kempinbb8e6252012-07-31 14:30:35 +020067* Create the Release Tag
68+
Martin Fickec31ff42012-06-23 11:35:39 -060069====
70 git tag -a -m "prolog-cafe 1.3" v1.3
Martin Fickec31ff42012-06-23 11:35:39 -060071====
72
Edwin Kempinbb8e6252012-07-31 14:30:35 +020073* Build and install into local Maven repository:
74+
75====
76 mvn clean install
77====
78
79
80[[publish-release]]
81Publish the Release
82-------------------
83
84* Make sure you have done the configuration needed for deployment:
85** link:dev-release-deploy-config.html#deploy-configuration-settings-xml[
86Configuration in Maven `settings.xml`]
87** Configuration in `pom.xml` for
88link:dev-release-deploy-config.html#deploy-configuration-subprojects[Subprojects] or
89link:dev-release-deploy-config.html#deploy-configuration-core-plugins[Core Plugins]
90
Martin Fick21e278e2012-02-23 13:45:54 -070091* Deploy the new release:
Edwin Kempinbb8e6252012-07-31 14:30:35 +020092+
Martin Fickec31ff42012-06-23 11:35:39 -060093====
Edwin Kempinbb8e6252012-07-31 14:30:35 +020094 mvn deploy
95====
96
97* Push the pom change(s) to the project's repository
98`refs/for/<master|stable>`
99
100* Push the Release Tag
101+
102====
103 git push gerrit-review refs/tags/v1.3:refs/tags/v1.3
Martin Fickec31ff42012-06-23 11:35:39 -0600104====
105
106
107GERRIT
108------
109Part of link:index.html[Gerrit Code Review]