|  | load("@rules_java//java:defs.bzl", "java_binary", "java_library") | 
|  | load("//tools/bzl:genrule2.bzl", "genrule2") | 
|  | load("//tools/bzl:javadoc.bzl", "java_doc") | 
|  | load( | 
|  | "//tools/bzl:plugins.bzl", | 
|  | "CORE_PLUGINS", | 
|  | "CUSTOM_PLUGINS", | 
|  | ) | 
|  |  | 
|  | genrule2( | 
|  | name = "core", | 
|  | srcs = ["//plugins/%s:%s.jar" % (n, n) for n in CORE_PLUGINS + CUSTOM_PLUGINS], | 
|  | outs = ["core.zip"], | 
|  | cmd = "mkdir -p $$TMP/WEB-INF/plugins;" + | 
|  | "for s in $(SRCS) ; do " + | 
|  | "ln -s $$ROOT/$$s $$TMP/WEB-INF/plugins;done;" + | 
|  | "cd $$TMP;" + | 
|  | "zip -qr $$ROOT/$@ .", | 
|  | visibility = ["//visibility:public"], | 
|  | ) | 
|  |  | 
|  | PLUGIN_API = [ | 
|  | "//java/com/google/gerrit/server", | 
|  | "//java/com/google/gerrit/server/ioutil", | 
|  | "//java/com/google/gerrit/server/restapi", | 
|  | "//java/com/google/gerrit/pgm/init/api", | 
|  | "//java/com/google/gerrit/httpd", | 
|  | "//java/com/google/gerrit/sshd", | 
|  | ] | 
|  |  | 
|  | EXPORTS = [ | 
|  | "//antlr3:query_parser", | 
|  | "//java/com/google/gerrit/common:annotations", | 
|  | "//java/com/google/gerrit/common:server", | 
|  | "//java/com/google/gerrit/exceptions", | 
|  | "//java/com/google/gerrit/extensions:api", | 
|  | "//java/com/google/gerrit/git", | 
|  | "//java/com/google/gerrit/index", | 
|  | "//java/com/google/gerrit/index/project", | 
|  | "//java/com/google/gerrit/index:query_exception", | 
|  | "//java/com/google/gerrit/json", | 
|  | "//java/com/google/gerrit/lifecycle", | 
|  | "//java/com/google/gerrit/lucene", | 
|  | "//java/com/google/gerrit/mail", | 
|  | "//java/com/google/gerrit/metrics", | 
|  | "//java/com/google/gerrit/metrics/dropwizard", | 
|  | "//java/com/google/gerrit/entities", | 
|  | "//java/com/google/gerrit/server/api", | 
|  | "//java/com/google/gerrit/server/audit", | 
|  | "//java/com/google/gerrit/server/cache/mem", | 
|  | "//java/com/google/gerrit/server/cache/serialize", | 
|  | "//java/com/google/gerrit/server/data", | 
|  | "//java/com/google/gerrit/server/git/receive", | 
|  | "//java/com/google/gerrit/server/logging", | 
|  | "//java/com/google/gerrit/server/schema", | 
|  | "//java/com/google/gerrit/server/util/time", | 
|  | "//java/com/google/gerrit/util/cli", | 
|  | "//java/com/google/gerrit/util/http", | 
|  | "//java/com/google/gerrit/util/logging", | 
|  | "//lib/antlr:java-runtime", | 
|  | "//lib/auto:auto-value-annotations", | 
|  | "//lib/auto:auto-value-gson", | 
|  | "//lib/commons:compress", | 
|  | "//lib/commons:dbcp", | 
|  | "//lib/commons:lang", | 
|  | "//lib/dropwizard:dropwizard-core", | 
|  | "//lib/flogger:api", | 
|  | "//lib/guice:guice", | 
|  | "//lib/guice:guice-assistedinject", | 
|  | "//lib/guice:guice-servlet", | 
|  | "//lib/guice:javax_inject", | 
|  | "//lib/httpcomponents:httpclient", | 
|  | "//lib/httpcomponents:httpcore", | 
|  | "//lib/jackson:jackson-core", | 
|  | "//lib:jgit-servlet", | 
|  | "//lib:jgit", | 
|  | "//lib:jgit-ssh-jsch", | 
|  | "//lib:jsr305", | 
|  | "//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:args4j", | 
|  | "//lib:blame-cache", | 
|  | "//lib:guava", | 
|  | "//lib:guava-retrying", | 
|  | "//lib:gson", | 
|  | "//lib:icu4j", | 
|  | "//lib:jsch", | 
|  | "//lib:mime-util", | 
|  | "//lib:protobuf", | 
|  | "//lib:servlet-api-without-neverlink", | 
|  | "//lib:soy", | 
|  | "//prolog:gerrit-prolog-common", | 
|  | ] | 
|  |  | 
|  | java_binary( | 
|  | name = "bouncycastle-deploy-env", | 
|  | main_class = "Dummy", | 
|  | runtime_deps = [ | 
|  | "//lib/bouncycastle:bcpg", | 
|  | "//lib/bouncycastle:bcpkix", | 
|  | "//lib/bouncycastle:bcprov", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | java_binary( | 
|  | name = "plugin-api", | 
|  | deploy_env = ["bouncycastle-deploy-env"], | 
|  | main_class = "Dummy", | 
|  | visibility = ["//visibility:public"], | 
|  | runtime_deps = [":plugin-lib"], | 
|  | ) | 
|  |  | 
|  | java_library( | 
|  | name = "plugin-lib", | 
|  | visibility = ["//visibility:public"], | 
|  | exports = PLUGIN_API + EXPORTS, | 
|  | ) | 
|  |  | 
|  | java_library( | 
|  | name = "plugin-lib-neverlink", | 
|  | neverlink = 1, | 
|  | visibility = ["//visibility:public"], | 
|  | exports = PLUGIN_API + EXPORTS, | 
|  | ) | 
|  |  | 
|  | java_binary( | 
|  | name = "plugin-api-sources", | 
|  | main_class = "Dummy", | 
|  | visibility = ["//visibility:public"], | 
|  | runtime_deps = [ | 
|  | "//antlr3:libquery_parser-src.jar", | 
|  | "//java/com/google/gerrit/common:libannotations-src.jar", | 
|  | "//java/com/google/gerrit/common:libserver-src.jar", | 
|  | "//java/com/google/gerrit/entities:libentities-src.jar", | 
|  | "//java/com/google/gerrit/extensions:libapi-src.jar", | 
|  | "//java/com/google/gerrit/httpd:libhttpd-src.jar", | 
|  | "//java/com/google/gerrit/index:libindex-src.jar", | 
|  | "//java/com/google/gerrit/index:libquery_exception-src.jar", | 
|  | "//java/com/google/gerrit/pgm/init/api:libapi-src.jar", | 
|  | "//java/com/google/gerrit/server:libserver-src.jar", | 
|  | "//java/com/google/gerrit/server/restapi:librestapi-src.jar", | 
|  | "//java/com/google/gerrit/sshd:libsshd-src.jar", | 
|  | "//java/com/google/gerrit/util/http:libhttp-src.jar", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | java_doc( | 
|  | name = "plugin-api-javadoc", | 
|  | libs = PLUGIN_API + [ | 
|  | "//antlr3:query_parser", | 
|  | "//java/com/google/gerrit/index", | 
|  | "//java/com/google/gerrit/index:query_exception", | 
|  | "//java/com/google/gerrit/common:annotations", | 
|  | "//java/com/google/gerrit/common:server", | 
|  | "//java/com/google/gerrit/extensions:api", | 
|  | "//java/com/google/gerrit/entities", | 
|  | "//java/com/google/gerrit/util/http", | 
|  | ], | 
|  | pkgs = ["com.google.gerrit"], | 
|  | title = "Gerrit Review Plugin API Documentation", | 
|  | visibility = ["//visibility:public"], | 
|  | ) |