blob: f4ca61c8b626864b6768990128ddcfe63a04adcc [file] [log] [blame] [view]
Build
=====
This plugin is 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 additional manual steps required when building
in Gerrit tree mode (see corresponding section).
## 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.
Put the external dependency Bazel build file into the Gerrit /plugins directory,
replacing the existing empty one.
```
cd gerrit/plugins
rm external_plugin_deps.bzl
ln -s @PLUGIN@/external_plugin_deps.bzl .
```
Then issue
```
cd ..
bazel build plugins/@PLUGIN@
```
in the root of Gerrit's source tree to build
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