Bazel Build
===========

This plugin can be built with Bazel


Build standalone
----------------

To build all the example plugins, issue the following command:


  bazel build :all


The output for all the example plugins is created in


  bazel-bin/all.zip


To build a specific example plugin, issue one of the following commands:


  bazel build example-<example>

  OR

  cd example-<example> && bazel build example-<example>


If the build command is run from the top-level example directory,
the output for the example is created in


  bazel-bin/example-<example>/example-<example>.jar


If the build command is run from inside a specific example directory,
the output for the example is created in


  example-<example>/bazel-bin/example-<example>.jar



Maven Build
==========

Note that for compatibility reasons a Maven build is provided, but is considered
to be deprecated and will be removed in a future version of this plugin.

To build with Maven, change directory to the specific example plugin folder and
issue the command:


  mvn clean package


When building with Maven, the Gerrit Plugin API must be available.

How to build the Gerrit Plugin API is described in the Gerrit
documentation (../../../Documentation/dev-bazel.html#_extension_and_plugin_api_jar_files).
