Bazel: Build core plugins

Change-Id: Ic8ed6fcdb8cdab9cb7eaba436c5fdffc6670d1b4
This commit is contained in:
David Ostrovsky
2016-09-22 16:13:50 +02:00
parent d7b072e357
commit c48e6c9730
5 changed files with 93 additions and 37 deletions

View File

@@ -6,7 +6,6 @@ Bazel build is experimental. Major missing parts:
* Documentation index * Documentation index
* License tracking * License tracking
* Version stamping * Version stamping
* Core plugins
* Custom plugins * Custom plugins
* Eclipse project generation. * Eclipse project generation.
* Publishing to maven. * Publishing to maven.

View File

@@ -784,3 +784,9 @@ maven_jar(
artifact = 'org.webjars:google-diff-match-patch:20121119-1', artifact = 'org.webjars:google-diff-match-patch:20121119-1',
sha1 = '0cf1782dbcb8359d95070da9176059a5a9d37709', sha1 = '0cf1782dbcb8359d95070da9176059a5a9d37709',
) )
maven_jar(
name = 'commons_io',
artifact = 'commons-io:commons-io:1.4',
sha1 = 'a8762d07e76cfde2395257a5da47ba7c1dbd3dce',
)

View File

@@ -11,16 +11,7 @@ PLUGIN_API = [
'//gerrit-sshd:sshd', '//gerrit-sshd:sshd',
] ]
java_binary( EXPORTS = [
name = 'plugin-api',
main_class = 'Dummy',
runtime_deps = [':lib'],
visibility = ['//visibility:public'],
)
java_library(
name = 'lib',
exports = PLUGIN_API + [
'//gerrit-antlr:query_exception', '//gerrit-antlr:query_exception',
'//gerrit-antlr:query_parser', '//gerrit-antlr:query_parser',
'//gerrit-common:annotations', '//gerrit-common:annotations',
@@ -39,6 +30,7 @@ java_library(
'//lib/jgit/org.eclipse.jgit:jgit', '//lib/jgit/org.eclipse.jgit:jgit',
'//lib/joda:joda-time', '//lib/joda:joda-time',
'//lib/log:api', '//lib/log:api',
'//lib/log:log4j',
'//lib/mina:sshd', '//lib/mina:sshd',
'//lib/ow2:ow2-asm', '//lib/ow2:ow2-asm',
'//lib/ow2:ow2-asm-analysis', '//lib/ow2:ow2-asm-analysis',
@@ -47,6 +39,7 @@ java_library(
'//lib:args4j', '//lib:args4j',
'//lib:blame-cache', '//lib:blame-cache',
'//lib:guava', '//lib:guava',
'//lib:gson',
'//lib:gwtorm', '//lib:gwtorm',
'//lib:icu4j', '//lib:icu4j',
'//lib:jsch', '//lib:jsch',
@@ -55,7 +48,25 @@ java_library(
'//lib:servlet-api-3_1', '//lib:servlet-api-3_1',
'//lib:soy', '//lib:soy',
'//lib:velocity', '//lib:velocity',
], ]
java_binary(
name = 'plugin-api',
main_class = 'Dummy',
runtime_deps = [':lib'],
visibility = ['//visibility:public'],
)
java_library(
name = 'lib',
exports = PLUGIN_API + EXPORTS,
visibility = ['//visibility:public'],
)
java_library(
name = 'lib-neverlink',
neverlink = 1,
exports = PLUGIN_API + EXPORTS,
visibility = ['//visibility:public'], visibility = ['//visibility:public'],
) )

View File

@@ -243,3 +243,9 @@ java_library(
exports = ['@postgresql//jar'], exports = ['@postgresql//jar'],
visibility = ['//visibility:public'], visibility = ['//visibility:public'],
) )
java_library(
name = 'commons-io',
exports = ['@commons_io//jar'],
visibility = ['//visibility:public'],
)

34
tools/bzl/plugin.bzl Normal file
View File

@@ -0,0 +1,34 @@
def gerrit_plugin(
name,
deps = [],
srcs = [],
resources = [],
manifest_entries = []):
# TODO(davido): Fix stamping: run git describe in plugin directory
# https://github.com/bazelbuild/bazel/issues/1758
manifest_lines = [
"Gerrit-ApiType: plugin",
"Implementation-Version: 1.0",
"Implementation-Vendor: Gerrit Code Review",
]
for line in manifest_entries:
manifest_lines.append(line.replace('$', '\$'))
native.java_library(
name = name + '__plugin',
srcs = srcs,
resources = resources,
deps = deps + ['//gerrit-plugin-api:lib-neverlink'],
visibility = ['//visibility:public'],
)
native.java_binary(
name = name,
deploy_manifest_lines = manifest_lines,
main_class = 'Dummy',
runtime_deps = [
':%s__plugin' % name,
],
visibility = ['//visibility:public'],
)