blob: 213ebe698716a6e1d9e9a8e7635a94ea6349c1a9 [file] [log] [blame] [view]
# Build
This plugin can be built with Bazel, and two build modes are supported:
* Standalone
* In Gerrit tree
Standalone build mode is recommended, as this mode doesn't require local Gerrit
tree to exist. Moreover, there are some limitations and additional manual steps
required when building in Gerrit tree mode (see corresponding sections).
## Build standalone
To build the plugin, issue the following command:
```
bazel build @PLUGIN@
```
The output is created in
```
bazel-bin/@PLUGIN@.jar
```
To package the plugin sources run:
```
bazel build lib@PLUGIN@__plugin-src.jar
```
The output is created in:
```
bazel-bin/lib@PLUGIN@__plugin-src.jar
```
This project can be imported into the Eclipse IDE:
```
./tools/eclipse/project.sh
```
## Build in Gerrit tree
Clone or link this plugin to the plugins directory of Gerrit's
source tree. From Gerrit source tree issue the command:
```
bazel build plugins/@PLUGIN@
```
Note that due to a [known issue in Bazel][bazelissue], if the plugin
has previously been built in standalone mode, it is necessary to clean
the workspace before building in-tree:
```
cd plugins/@PLUGIN@
bazel clean --expunge
```
The output is created in
```
bazel-bin/plugins/@PLUGIN@/@PLUGIN@.jar
```
This project can be imported into the Eclipse IDE.
Add the plugin name to the `CUSTOM_PLUGINS` set in
Gerrit core in `tools/bzl/plugins.bzl`, and execute:
```
./tools/eclipse/project.py
```
How to build the Gerrit Plugin API is described in the [Gerrit
documentation](../../../Documentation/dev-bazel.html#_extension_and_plugin_api_jar_files).
[Back to @PLUGIN@ documentation index][index]
[index]: index.html
[bazelissue]: https://github.com/bazelbuild/bazel/issues/2797