blob: 34881f69d3bde6bb93ced91d06bd88118868f165 [file] [log] [blame] [view]
Build
=====
This plugin is built with Bazel.
This plugin has a side component, gc-executor, to build as well.
Successfully running some of the tests requires Docker,
which are skipped if Docker is not available.
Bazel currently does not show
link:https://github.com/bazelbuild/bazel/issues/3476[skipped tests].
## Building gc-executor
To build the executor, issue the following command:
```
bazel build plugins/@PLUGIN@:gc-executor_deploy.jar
```
The output is created in:
```
bazel-bin/plugins/@PLUGIN@/gc-executor_deploy.jar
```
This jar should be renamed to gc-executor.jar before deployment.
Once the executor is built, the resulting postgresql jar file like below
should be manually copied over to the gerrit site /lib folder; on macOS:
```
bazel-out/darwin-fastbuild/bin/plugins/@PLUGIN@/gc-executor.runfiles/postgresql/jar/postgresql-42.2.5.jar
```
That file has to be in accordance with potentially existing database driver
files under site's /lib, for proper account_patch_reviews support.
## 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 .
```
From Gerrit source tree issue the command:
```
bazel build plugins/@PLUGIN@
```
The output is created in
```
bazel-bin/plugins/@PLUGIN@/@PLUGIN@.jar
```
To execute the tests run:
```
bazel test --test_tag_filters=@PLUGIN@ //...
```
or filtering using the comma separated tags:
````
bazel test --test_tag_filters=@PLUGIN@ --strict_java_deps=off //...
````
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
```
[Back to @PLUGIN@ documentation index][index]
[index]: index.html