blob: b6b79a7bfa0b237ed4d7d579401b9b91919ddb50 [file] [log] [blame]
David Ostrovskyfa189072016-11-30 08:52:06 +01001load("//tools/bzl:genrule2.bzl", "genrule2")
Jacek Centkowski75d1c182017-02-24 14:59:15 +01002load(
3 "//tools/bzl:plugins.bzl",
4 "CORE_PLUGINS",
5 "CUSTOM_PLUGINS",
6)
David Ostrovskyaf719682016-09-28 20:31:18 +02007
8genrule2(
David Ostrovskyfa189072016-11-30 08:52:06 +01009 name = "core",
Jacek Centkowski75d1c182017-02-24 14:59:15 +010010 srcs = ["//plugins/%s:%s.jar" % (n, n) for n in CORE_PLUGINS + CUSTOM_PLUGINS],
David Ostrovskyfa189072016-11-30 08:52:06 +010011 outs = ["core.zip"],
12 cmd = "mkdir -p $$TMP/WEB-INF/plugins;" +
13 "for s in $(SRCS) ; do " +
14 "ln -s $$ROOT/$$s $$TMP/WEB-INF/plugins;done;" +
15 "cd $$TMP;" +
16 "zip -qr $$ROOT/$@ .",
17 visibility = ["//visibility:public"],
David Ostrovskyaf719682016-09-28 20:31:18 +020018)
David Ostrovsky32c69332017-08-24 22:10:33 +020019
20PLUGIN_API = [
David Ostrovsky590071e2017-09-21 22:54:20 +020021 "//java/com/google/gerrit/server",
Han-Wen Nienhuysfd6962b2018-07-06 15:39:30 +020022 "//java/com/google/gerrit/server/ioutil",
David Ostrovskye1f11c72018-01-18 06:35:24 +010023 "//java/com/google/gerrit/server/restapi",
David Ostrovsky32c69332017-08-24 22:10:33 +020024 "//java/com/google/gerrit/pgm/init/api",
David Ostrovsky32c69332017-08-24 22:10:33 +020025 "//java/com/google/gerrit/httpd",
26 "//java/com/google/gerrit/sshd",
27]
28
29EXPORTS = [
30 "//java/com/google/gerrit/common:annotations",
31 "//java/com/google/gerrit/common:server",
32 "//java/com/google/gerrit/extensions:api",
33 "//java/com/google/gerrit/index",
34 "//java/com/google/gerrit/index:query_exception",
35 "//java/com/google/gerrit/index:query_parser",
36 "//java/com/google/gerrit/lifecycle",
37 "//java/com/google/gerrit/metrics",
38 "//java/com/google/gerrit/metrics/dropwizard",
39 "//java/com/google/gerrit/reviewdb:server",
Dave Borowitz791da3a642018-06-12 10:52:22 -040040 "//java/com/google/gerrit/util/http",
David Ostrovsky32c69332017-08-24 22:10:33 +020041 "//lib/commons:dbcp",
42 "//lib/commons:lang",
David Ostrovsky32c69332017-08-24 22:10:33 +020043 "//lib/dropwizard:dropwizard-core",
Edwin Kempin8860e8e2018-05-08 11:19:37 +020044 "//lib/flogger:api",
David Ostrovsky32c69332017-08-24 22:10:33 +020045 "//lib/guice:guice",
46 "//lib/guice:guice-assistedinject",
47 "//lib/guice:guice-servlet",
David Ostrovskye1359a32018-06-08 09:16:50 +020048 "//lib/guice:javax_inject",
David Ostrovsky32c69332017-08-24 22:10:33 +020049 "//lib/httpcomponents:httpclient",
50 "//lib/httpcomponents:httpcore",
Hector Oswaldo Caballerocbc86c62017-12-22 09:01:53 -050051 "//lib/jackson:jackson-core",
David Ostrovsky32c69332017-08-24 22:10:33 +020052 "//lib/jgit/org.eclipse.jgit.http.server:jgit-servlet",
53 "//lib/jgit/org.eclipse.jgit:jgit",
54 "//lib/log:api",
55 "//lib/log:log4j",
56 "//lib/mina:sshd",
57 "//lib/ow2:ow2-asm",
58 "//lib/ow2:ow2-asm-analysis",
59 "//lib/ow2:ow2-asm-commons",
60 "//lib/ow2:ow2-asm-util",
61 "//lib:args4j",
62 "//lib:blame-cache",
63 "//lib:guava",
64 "//lib:guava-retrying",
65 "//lib:gson",
66 "//lib:gwtorm",
67 "//lib:icu4j",
68 "//lib:jsch",
69 "//lib:mime-util",
70 "//lib:protobuf",
71 "//lib:servlet-api-3_1-without-neverlink",
72 "//lib:soy",
73 "//prolog:gerrit-prolog-common",
74]
75
76java_binary(
77 name = "plugin-api",
78 main_class = "Dummy",
79 visibility = ["//visibility:public"],
80 runtime_deps = [":plugin-lib"],
81)
82
83java_library(
84 name = "plugin-lib",
85 visibility = ["//visibility:public"],
86 exports = PLUGIN_API + EXPORTS,
87)
88
89java_library(
90 name = "plugin-lib-neverlink",
91 neverlink = 1,
92 visibility = ["//visibility:public"],
93 exports = PLUGIN_API + EXPORTS,
94)
95
96java_binary(
97 name = "plugin-api-sources",
98 main_class = "Dummy",
99 visibility = ["//visibility:public"],
100 runtime_deps = [
David Ostrovsky32c69332017-08-24 22:10:33 +0200101 "//java/com/google/gerrit/common:libannotations-src.jar",
102 "//java/com/google/gerrit/common:libserver-src.jar",
103 "//java/com/google/gerrit/extensions:libapi-src.jar",
104 "//java/com/google/gerrit/httpd:libhttpd-src.jar",
105 "//java/com/google/gerrit/index:libindex-src.jar",
106 "//java/com/google/gerrit/index:libquery_exception-src.jar",
107 "//java/com/google/gerrit/index:libquery_parser-src.jar",
108 "//java/com/google/gerrit/pgm/init/api:libapi-src.jar",
109 "//java/com/google/gerrit/reviewdb:libserver-src.jar",
David Ostrovsky590071e2017-09-21 22:54:20 +0200110 "//java/com/google/gerrit/server:libserver-src.jar",
David Ostrovskye1f11c72018-01-18 06:35:24 +0100111 "//java/com/google/gerrit/server/restapi:librestapi-src.jar",
David Ostrovsky32c69332017-08-24 22:10:33 +0200112 "//java/com/google/gerrit/sshd:libsshd-src.jar",
Dave Borowitz791da3a642018-06-12 10:52:22 -0400113 "//java/com/google/gerrit/util/http:libhttp-src.jar",
David Ostrovsky32c69332017-08-24 22:10:33 +0200114 ],
115)
116
117load("//tools/bzl:javadoc.bzl", "java_doc")
118
119java_doc(
120 name = "plugin-api-javadoc",
121 libs = PLUGIN_API + [
122 "//java/com/google/gerrit/index",
123 "//java/com/google/gerrit/index:query_exception",
124 "//java/com/google/gerrit/index:query_parser",
125 "//java/com/google/gerrit/common:annotations",
126 "//java/com/google/gerrit/common:server",
127 "//java/com/google/gerrit/extensions:api",
David Ostrovsky32c69332017-08-24 22:10:33 +0200128 "//java/com/google/gerrit/reviewdb:server",
Dave Borowitz791da3a642018-06-12 10:52:22 -0400129 "//java/com/google/gerrit/util/http",
David Ostrovsky32c69332017-08-24 22:10:33 +0200130 ],
131 pkgs = ["com.google.gerrit"],
132 title = "Gerrit Review Plugin API Documentation",
133 visibility = ["//visibility:public"],
134)