b81b4f75ae
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
162 lines
3.6 KiB
Python
162 lines
3.6 KiB
Python
load('//tools/bzl:java.bzl', 'java_library2')
|
|
load('//tools/bzl:junit.bzl', 'junit_tests')
|
|
|
|
SRCS = 'src/main/java/com/google/gerrit/pgm/'
|
|
RSRCS = 'src/main/resources/com/google/gerrit/pgm/'
|
|
|
|
INIT_API_SRCS = glob([SRCS + 'init/api/*.java'])
|
|
|
|
BASE_JETTY_DEPS = [
|
|
'//gerrit-common:server',
|
|
'//gerrit-extension-api:api',
|
|
'//gerrit-gwtexpui:linker_server',
|
|
'//gerrit-gwtexpui:server',
|
|
'//gerrit-httpd:httpd',
|
|
'//gerrit-server:server',
|
|
'//gerrit-sshd:sshd',
|
|
'//lib:guava',
|
|
'//lib/guice:guice',
|
|
'//lib/guice:guice-assistedinject',
|
|
'//lib/guice:guice-servlet',
|
|
'//lib/jgit/org.eclipse.jgit:jgit',
|
|
'//lib/log:api',
|
|
'//lib/log:log4j',
|
|
]
|
|
|
|
DEPS = BASE_JETTY_DEPS + [
|
|
'//gerrit-reviewdb:server',
|
|
'//lib/log:jsonevent-layout',
|
|
]
|
|
|
|
java_library(
|
|
name = 'init-api',
|
|
srcs = INIT_API_SRCS,
|
|
deps = DEPS + ['//gerrit-common:annotations'],
|
|
visibility = ['//visibility:public'],
|
|
)
|
|
|
|
java_library(
|
|
name = 'init',
|
|
srcs = glob([SRCS + 'init/*.java']),
|
|
resources = glob([RSRCS + 'init/*']),
|
|
deps = DEPS + [
|
|
':init-api',
|
|
':util',
|
|
'//gerrit-common:annotations',
|
|
'//gerrit-launcher:launcher', # We want this dep to be provided_deps
|
|
'//gerrit-lucene:lucene',
|
|
'//lib:args4j',
|
|
'//lib:derby',
|
|
'//lib:gwtjsonrpc',
|
|
'//lib:gwtorm',
|
|
'//lib:h2',
|
|
'//lib/commons:validator',
|
|
'//lib/mina:sshd',
|
|
],
|
|
visibility = ['//visibility:public'],
|
|
)
|
|
|
|
REST_UTIL_DEPS = [
|
|
'//gerrit-cache-h2:cache-h2',
|
|
'//gerrit-util-cli:cli',
|
|
'//lib:args4j',
|
|
'//lib:gwtorm',
|
|
'//lib/commons:dbcp',
|
|
]
|
|
|
|
java_library(
|
|
name = 'util',
|
|
exports = [':util-nodep'],
|
|
runtime_deps = DEPS + REST_UTIL_DEPS,
|
|
visibility = ['//visibility:public'],
|
|
)
|
|
|
|
java_library(
|
|
name = 'util-nodep',
|
|
srcs = glob([SRCS + 'util/*.java']),
|
|
deps = DEPS + REST_UTIL_DEPS, # We want all these deps to be provided_deps
|
|
visibility = ['//visibility:public'],
|
|
)
|
|
|
|
JETTY_DEPS = [
|
|
'//lib/jetty:jmx',
|
|
'//lib/jetty:server',
|
|
'//lib/jetty:servlet',
|
|
]
|
|
|
|
java_library(
|
|
name = 'http',
|
|
runtime_deps = DEPS + JETTY_DEPS,
|
|
exports = [':http-jetty'],
|
|
visibility = ['//visibility:public'],
|
|
)
|
|
|
|
java_library(
|
|
name = 'http-jetty',
|
|
srcs = glob([SRCS + 'http/jetty/*.java']),
|
|
deps = JETTY_DEPS + BASE_JETTY_DEPS + [ # We want all these deps to be provided_deps
|
|
'//gerrit-launcher:launcher',
|
|
'//gerrit-reviewdb:client',
|
|
'//lib:servlet-api-3_1',
|
|
],
|
|
visibility = ['//visibility:public'],
|
|
)
|
|
|
|
REST_PGM_DEPS = [
|
|
':http',
|
|
':init',
|
|
':init-api',
|
|
':util',
|
|
'//gerrit-cache-h2:cache-h2',
|
|
'//gerrit-gpg:gpg',
|
|
'//gerrit-lucene:lucene',
|
|
'//gerrit-oauth:oauth',
|
|
'//gerrit-openid:openid',
|
|
'//lib:args4j',
|
|
'//lib:gwtorm',
|
|
'//lib:protobuf',
|
|
'//lib:servlet-api-3_1-without-neverlink',
|
|
'//lib/auto:auto-value',
|
|
'//lib/prolog:cafeteria',
|
|
'//lib/prolog:compiler',
|
|
'//lib/prolog:runtime',
|
|
]
|
|
|
|
java_library(
|
|
name = 'pgm',
|
|
resources = glob([RSRCS + '*']),
|
|
runtime_deps = DEPS + REST_PGM_DEPS + [
|
|
':daemon',
|
|
],
|
|
visibility = ['//visibility:public'],
|
|
)
|
|
|
|
# no transitive deps, used for gerrit-acceptance-framework
|
|
java_library(
|
|
name = 'daemon',
|
|
srcs = glob([SRCS + '*.java', SRCS + 'rules/*.java']),
|
|
resources = glob([RSRCS + '*']),
|
|
deps = DEPS + REST_PGM_DEPS + [ # We want all these deps to be provided_deps
|
|
'//gerrit-launcher:launcher',
|
|
],
|
|
visibility = ['//visibility:public'],
|
|
)
|
|
|
|
junit_tests(
|
|
name = 'pgm_tests',
|
|
srcs = glob(['src/test/java/**/*.java']),
|
|
deps = [
|
|
':init',
|
|
':init-api',
|
|
':pgm',
|
|
'//gerrit-common:server',
|
|
'//gerrit-server:server',
|
|
'//lib:guava',
|
|
'//lib:junit',
|
|
'//lib/easymock:easymock',
|
|
'//lib/guice:guice',
|
|
'//lib/jgit/org.eclipse.jgit:jgit',
|
|
'//lib/jgit/org.eclipse.jgit.junit:junit',
|
|
],
|
|
)
|