This plugin can be built with Bazel or Buck and two build modes are supported:
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).
To build the plugin, issue the following command:
bazel build @PLUGIN@
The output is created in
bazel-genfiles/@PLUGIN@.jar
To package the plugin sources run:
bazel build libsync-index__plugin-src.jar
The output is created in:
bazel-bin/libsync-index__plugin-src.jar
To execute the tests run:
bazel test sync_index_tests
This project can be imported into the Eclipse IDE:
./tools/eclipse.py
Clone bucklets library:
git clone https://gerrit.googlesource.com/bucklets
and link it to @PLUGIN@ directory:
cd @PLUGIN@ && ln -s ../bucklets .
Add link to the .buckversion file:
cd @PLUGIN@ && ln -s bucklets/buckversion .buckversion
Add link to the .watchmanconfig file:
cd @PLUGIN@ && ln -s bucklets/watchmanconfig .watchmanconfig
To build the plugin, issue the following command:
buck build plugin
The output is created in:
buck-out/gen/@PLUGIN@.jar
This project can be imported into the Eclipse IDE:
./bucklets/tools/eclipse.py
Project -> Java Build Path -> Add External JARS -> <location of wiremock-standalone.jar in local file system>
To execute the tests run:
buck test
To build plugin sources run:
buck build src
The output is created in:
buck-out/gen/@PLUGIN@-sources.jar
Clone or link this plugin to the plugins directory of Gerrit's source tree, and issue the command:
bazel build plugins/@PLUGIN@
The output is created in
bazel-genfiles/plugins/@PLUGIN@/@PLUGIN@.jar
This project can be imported into the Eclipse IDE. First, list the plugin in the custom plugin list, in gerrit/tools/bzl/plugins.bzl
:
CUSTOM_PLUGINS = [ ... '@PLUGIN@', ]
and issue the command:
./tools/eclipse/project_bzl.py
Project -> Java Build Path -> Add External JARS -> <location of wiremock-standalone.jar in local file system>
To execute the tests, Gerrit WORKSPACE should be patched:
cat plugins/sync-index/WORKSPACE.in_gerrit_tree >> WORKSPACE
then run:
bazel test plugins/@PLUGIN@:sync_index_tests
Clone or link this plugin to the plugins directory of Gerrit's source tree, and issue the command:
buck build plugins/@PLUGIN@
The output is created in:
buck-out/gen/plugins/@PLUGIN@/@PLUGIN@.jar
This project can be imported into the Eclipse IDE:
./tools/eclipse/project.py
Project -> Java Build Path -> Add External JARS -> <location of wiremock-standalone.jar in local file system>
To execute the tests run:
buck test --include @PLUGIN@
How to build the Gerrit Plugin API is described in the Gerrit documentation.