gerrit/gerrit-common/BUILD
David Ostrovsky b81b4f75ae 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
2016-06-14 21:12:02 +02:00

78 lines
1.7 KiB
Python

load('//tools/bzl:gwt.bzl', 'gwt_module')
load('//tools/bzl:junit.bzl', 'junit_tests')
SRC = 'src/main/java/com/google/gerrit/'
ANNOTATIONS = [
SRC + x for x in [
'common/Nullable.java',
'common/audit/Audit.java',
'common/auth/SignInRequired.java',
]
]
java_library(
name = 'annotations',
srcs = ANNOTATIONS,
visibility = ['//visibility:public'],
)
gwt_module(
name = 'client',
srcs = glob([SRC + 'common/**/*.java']),
gwt_xml = SRC + 'Common.gwt.xml',
exported_deps = [
'//gerrit-extension-api:api',
'//gerrit-prettify:client',
'//lib:guava',
'//lib:gwtorm_client',
'//lib:servlet-api-3_1',
'//lib/jgit/org.eclipse.jgit:jgit',
'//lib/joda:joda-time',
'//lib/log:api',
],
visibility = ['//visibility:public'],
)
java_library(
name = 'server',
srcs = glob([SRC + 'common/**/*.java'], exclude = ANNOTATIONS),
deps = [
':annotations',
'//gerrit-extension-api:api',
'//gerrit-patch-jgit:server',
'//gerrit-prettify:server',
'//gerrit-reviewdb:server',
'//lib:guava',
'//lib:gwtjsonrpc',
'//lib:gwtorm',
'//lib:servlet-api-3_1',
'//lib/jgit/org.eclipse.jgit:jgit',
'//lib/joda:joda-time',
'//lib/log:api',
],
visibility = ['//visibility:public'],
)
TEST = 'src/test/java/com/google/gerrit/common/'
AUTO_VALUE_TEST_SRCS = [TEST + 'AutoValueTest.java']
junit_tests(
name = 'client_tests',
srcs = glob(['src/test/java/**/*.java'], exclude = AUTO_VALUE_TEST_SRCS),
deps = [
':client',
'//lib:guava',
'//lib:junit',
],
)
junit_tests(
name = 'auto_value_tests',
srcs = AUTO_VALUE_TEST_SRCS,
deps = [
'//lib:truth',
'//lib/auto:auto-value',
],
)