
Currently too big files are published, because some unwanted transitive dependencies are included in the final artifacts. That will be fixed in follow-up change by using neverlink option in java_library rule or using provided_deps attribute that will be addded in future releases of Bazel: [1]. TEST PLAN: $ VERBOSE=1 tools/maven/api.sh install bazel $ VERBOSE=1 tools/maven/api.sh install buck * [1] https://github.com/bazelbuild/bazel/issues/1402 Change-Id: Ie73d4ae34d96be7f97f6329c4c30c814f54688d5
60 lines
1.4 KiB
Python
60 lines
1.4 KiB
Python
load('//lib:guava.bzl', 'GUAVA_DOC_URL')
|
|
load('//lib/jgit:jgit.bzl', 'JGIT_DOC_URL')
|
|
load('//tools/bzl:gwt.bzl', 'gwt_module')
|
|
|
|
SRC = 'src/main/java/com/google/gerrit/extensions/'
|
|
SRCS = glob([SRC + '**/*.java'])
|
|
|
|
EXT_API_SRCS = glob([SRC + 'client/*.java'])
|
|
|
|
gwt_module(
|
|
name = 'client',
|
|
srcs = EXT_API_SRCS,
|
|
gwt_xml = SRC + 'Extensions.gwt.xml',
|
|
visibility = ['//visibility:public'],
|
|
)
|
|
|
|
java_binary(
|
|
name = 'extension-api',
|
|
main_class = 'Dummy',
|
|
runtime_deps = [':lib'],
|
|
visibility = ['//visibility:public'],
|
|
)
|
|
|
|
java_library(
|
|
name = 'lib',
|
|
exports = [
|
|
':api',
|
|
'//lib:guava',
|
|
'//lib/guice:guice',
|
|
'//lib/guice:guice-assistedinject',
|
|
'//lib/guice:guice-servlet',
|
|
'//lib:servlet-api-3_1',
|
|
],
|
|
visibility = ['//visibility:public'],
|
|
)
|
|
|
|
#TODO(davido): There is no provided_deps argument to java_library rule
|
|
java_library(
|
|
name = 'api',
|
|
srcs = glob([SRC + '**/*.java']),
|
|
deps = [
|
|
'//gerrit-common:annotations',
|
|
'//lib:guava',
|
|
'//lib/guice:guice',
|
|
'//lib/guice:guice-assistedinject',
|
|
],
|
|
visibility = ['//visibility:public'],
|
|
)
|
|
|
|
load('//tools/bzl:javadoc.bzl', 'java_doc')
|
|
|
|
java_doc(
|
|
name = 'extension-api-javadoc',
|
|
title = 'Gerrit Review Extension API Documentation',
|
|
libs = [':api'],
|
|
pkgs = ['com.google.gerrit.extensions'],
|
|
external_docs = [JGIT_DOC_URL, GUAVA_DOC_URL],
|
|
visibility = ['//visibility:public'],
|
|
)
|