SRCS = [ 'gerrit-server/src/main/java/', 'gerrit-httpd/src/main/java/', 'gerrit-sshd/src/main/java/', ] PLUGIN_API = [ '//gerrit-httpd:httpd', '//gerrit-pgm:init-api', '//gerrit-server:server', '//gerrit-sshd:sshd', ] java_binary( name = 'plugin-api', merge_manifests = False, manifest_file = ':manifest', deps = [':lib'], visibility = ['PUBLIC'], ) genrule( name = 'manifest', cmd = 'echo "Manifest-Version: 1.0" >$OUT;' + 'echo "Implementation-Title: Gerrit Plugin API" >>$OUT;' + 'echo "Implementation-Vendor: Gerrit Code Review Project" >>$OUT', out = 'manifest.txt', ) java_library( name = 'lib', exported_deps = PLUGIN_API + [ '//gerrit-antlr:query_exception', '//gerrit-antlr:query_parser', '//gerrit-common:annotations', '//gerrit-common:server', '//gerrit-extension-api:api', '//gerrit-gwtexpui:server', '//gerrit-reviewdb:server', '//lib:args4j', '//lib:blame-cache', '//lib:gson', '//lib:guava', '//lib:gwtorm', '//lib:icu4j', '//lib:jsch', '//lib:jsr305', '//lib:mime-util', '//lib:protobuf', '//lib:servlet-api-3_1', '//lib:soy', '//lib:velocity', '//lib/commons:lang', '//lib/dropwizard:dropwizard-core', '//lib/guice:guice', '//lib/guice:guice-assistedinject', '//lib/guice:javax-inject', '//lib/guice:multibindings', '//lib/guice:guice-servlet', '//lib/jgit/org.eclipse.jgit:jgit', '//lib/jgit/org.eclipse.jgit.http.server:jgit-servlet', '//lib/joda:joda-time', '//lib/log:api', '//lib/log:log4j', '//lib/mina:sshd', '//lib/ow2:ow2-asm', '//lib/ow2:ow2-asm-analysis', '//lib/ow2:ow2-asm-commons', '//lib/ow2:ow2-asm-util', '//lib/prolog:compiler', '//lib/prolog:runtime', ], visibility = ['PUBLIC'], ) java_binary( name = 'plugin-api-src', deps = [ '//gerrit-extension-api:extension-api-src', ] + [d + '-src' for d in PLUGIN_API], visibility = ['PUBLIC'], ) java_doc( name = 'plugin-api-javadoc', title = 'Gerrit Review Plugin API Documentation', pkgs = ['com.google.gerrit'], source_jar = ':plugin-api-src', srcs = glob([n + '**/*.java' for n in SRCS]), deps = [ ':plugin-api', '//lib/bouncycastle:bcprov', '//lib/bouncycastle:bcpg', '//lib/bouncycastle:bcpkix', ], visibility = ['PUBLIC'], )