Implement Bazel build To run the tests: bazel test //... To build the Gerrit plugin API, run: bazel build gerrit-plugin-api:plugin-api_deploy.jar To build the Gerrit extension API, run: bazel build gerrit-extension-api:extension-api_deploy.jar TODOs: Licenses Reduce visibility (all public for now) Generate HTML Documentation Core plugins gerrit_plugin() rule to build plugins in tree and standalone modes GWT UI (only gwt_module() skylark rule is provided, no gwt_binary()) PolyGerrit UI WAR Publish artifacts to Maven Central Ask Bazel team to add Gerrit to their CI on ci.bazel.io Contributed-By: Han-Wen Nienhuys <hanwen@google.com> Change-Id: I9a86e670882a44a5c966579cdeb8ed79b1590de3
diff --git a/gerrit-gpg/BUILD b/gerrit-gpg/BUILD new file mode 100644 index 0000000..79f50b1 --- /dev/null +++ b/gerrit-gpg/BUILD
@@ -0,0 +1,58 @@ +load('//tools/bzl:junit.bzl', 'junit_tests') + +DEPS = [ + '//gerrit-common:server', + '//gerrit-extension-api:api', + '//gerrit-reviewdb:server', + '//gerrit-server:server', + '//lib:guava', + '//lib:gwtorm', + '//lib/guice:guice', + '//lib/guice:guice-assistedinject', + '//lib/guice:guice-servlet', + '//lib/jgit/org.eclipse.jgit:jgit', + '//lib/log:api', +] + +java_library( + name = 'gpg', + srcs = glob(['src/main/java/**/*.java']), + deps = DEPS + [ + '//lib/bouncycastle:bcpg', + '//lib/bouncycastle:bcprov', + ], + visibility = ['//visibility:public'], +) + +TESTUTIL_SRCS = glob(['src/test/**/testutil/**/*.java']) + +java_library( + name = 'testutil', + srcs = TESTUTIL_SRCS, + deps = DEPS + [ + ':gpg', + '//lib/bouncycastle:bcpg-without-neverlink', + '//lib/bouncycastle:bcprov-without-neverlink', + ], + visibility = ['//visibility:public'], +) + +junit_tests( + name = 'gpg_tests', + srcs = glob( + ['src/test/java/**/*.java'], + exclude = TESTUTIL_SRCS, + ), + deps = DEPS + [ + ':gpg', + ':testutil', + '//gerrit-cache-h2:cache-h2', + '//gerrit-lucene:lucene', + '//gerrit-server:testutil', + '//lib:truth', + '//lib/jgit/org.eclipse.jgit.junit:junit', + '//lib/bouncycastle:bcpg-without-neverlink', + '//lib/bouncycastle:bcprov-without-neverlink', + ], + visibility = ['//visibility:public'], +)