| = Gerrit Code Review - Building plugins |
| |
| |
| From build process perspective there are three types of plugins: |
| |
| * Maven driven |
| * Buck in tree driven |
| * Buck standalone driven |
| |
| These types can be combined: if both files in plugin's root directory exist: |
| |
| * `BUCK` |
| * `pom.xml` |
| |
| the plugin can be built with both Buck and Maven. |
| |
| |
| == Maven driven build |
| |
| If plugin contains `pom.xml` file, it can be built with Maven as usually: |
| |
| ---- |
| mvn clean package |
| ---- |
| |
| Exceptions from the rule above: |
| |
| === Exception 1: |
| |
| |
| Plugin's `pom.xml` references snapshot version of plugin API: |
| `2.8-SNAPSHOT`. In this case there are two possibilities: |
| |
| * switch to release API. Change plugin API version in `pom.xml` from |
| `2.8-SNAPSHOT` to `2.8.1` and repeat step 1 above. |
| * build and install `SNAPSHOT` version of plugin API in local Maven repository: |
| |
| ---- |
| ./tools/maven/api.sh install |
| ---- |
| |
| === Exception 2: |
| |
| Plugin's `pom.xml` references other own or foreign (unpublished) libraries or |
| even other Gerrit plugins. These libraries and/or plugins must be built and |
| installed in local Maven repository. Clone the related projects and issue |
| |
| ---- |
| mvn install |
| ---- |
| |
| Repeat step 1. above. |
| |
| |
| == Buck in tree driven |
| |
| |
| The fact that plugin contains `BUCK` file doesn't mean that building this |
| plugin from the plugin directory works. For now it doesn't. Buck in tree driven |
| means it can only be built from within Gerrit tree. Clone or link the plugin |
| into gerrit/plugins directory: |
| |
| ---- |
| cd gerrit |
| buck build plugins/<plugin-name>:<plugin-name> |
| ---- |
| |
| The output can be normally found in the following directory: |
| |
| ---- |
| buck-out/gen/plugins/<plugin-name>/<plugin-name>.jar |
| ---- |
| |
| Some plugins describe their build process in `src/main/resources/Documentation/build.md` |
| file. It may worth checking. |
| |
| == Buck standalone driven |
| |
| Only few plugins support that mode for now: |
| |
| ---- |
| cd reviewers |
| buck build plugin |
| ---- |
| |
| GERRIT |
| ------ |
| Part of link:index.html[Gerrit Code Review] |
| |
| SEARCHBOX |
| --------- |