blob: 4837b6744935850d8b9a1498f0024389cc46d1b8 [file] [log] [blame]
David Ostrovskyfa189072016-11-30 08:52:06 +01001load("//tools/bzl:genrule2.bzl", "genrule2")
David Pursehouse1d536682019-01-10 21:44:13 +09002load("//tools/bzl:javadoc.bzl", "java_doc")
Jacek Centkowski75d1c182017-02-24 14:59:15 +01003load(
4 "//tools/bzl:plugins.bzl",
5 "CORE_PLUGINS",
6 "CUSTOM_PLUGINS",
7)
David Ostrovskyaf719682016-09-28 20:31:18 +02008
9genrule2(
David Ostrovskyfa189072016-11-30 08:52:06 +010010 name = "core",
Jacek Centkowski75d1c182017-02-24 14:59:15 +010011 srcs = ["//plugins/%s:%s.jar" % (n, n) for n in CORE_PLUGINS + CUSTOM_PLUGINS],
David Ostrovskyfa189072016-11-30 08:52:06 +010012 outs = ["core.zip"],
13 cmd = "mkdir -p $$TMP/WEB-INF/plugins;" +
14 "for s in $(SRCS) ; do " +
15 "ln -s $$ROOT/$$s $$TMP/WEB-INF/plugins;done;" +
16 "cd $$TMP;" +
17 "zip -qr $$ROOT/$@ .",
18 visibility = ["//visibility:public"],
David Ostrovskyaf719682016-09-28 20:31:18 +020019)
David Ostrovsky32c69332017-08-24 22:10:33 +020020
21PLUGIN_API = [
David Ostrovsky590071e2017-09-21 22:54:20 +020022 "//java/com/google/gerrit/server",
Han-Wen Nienhuysfd6962b2018-07-06 15:39:30 +020023 "//java/com/google/gerrit/server/ioutil",
David Ostrovskye1f11c72018-01-18 06:35:24 +010024 "//java/com/google/gerrit/server/restapi",
David Ostrovsky32c69332017-08-24 22:10:33 +020025 "//java/com/google/gerrit/pgm/init/api",
David Ostrovsky32c69332017-08-24 22:10:33 +020026 "//java/com/google/gerrit/httpd",
27 "//java/com/google/gerrit/sshd",
28]
29
30EXPORTS = [
David Ostrovskyf51cf232018-08-31 06:19:26 +020031 "//antlr3:query_parser",
David Ostrovsky32c69332017-08-24 22:10:33 +020032 "//java/com/google/gerrit/common:annotations",
33 "//java/com/google/gerrit/common:server",
34 "//java/com/google/gerrit/extensions:api",
Dave Borowitz3770c702018-11-13 17:07:14 -080035 "//java/com/google/gerrit/git",
David Ostrovsky32c69332017-08-24 22:10:33 +020036 "//java/com/google/gerrit/index",
Luca Milanesiobd73b492018-12-29 20:11:41 +000037 "//java/com/google/gerrit/index/project",
David Ostrovsky32c69332017-08-24 22:10:33 +020038 "//java/com/google/gerrit/index:query_exception",
Dave Borowitz87bfe682018-12-18 17:59:29 -080039 "//java/com/google/gerrit/json",
David Ostrovsky32c69332017-08-24 22:10:33 +020040 "//java/com/google/gerrit/lifecycle",
David Ostrovskyda429b72019-01-29 09:04:01 +010041 "//java/com/google/gerrit/mail",
David Ostrovsky32c69332017-08-24 22:10:33 +020042 "//java/com/google/gerrit/metrics",
43 "//java/com/google/gerrit/metrics/dropwizard",
44 "//java/com/google/gerrit/reviewdb:server",
David Ostrovskyfc1a9c72019-04-17 07:51:58 -070045 "//java/com/google/gerrit/server/api",
David Ostrovsky37748ec2018-08-14 08:36:11 +020046 "//java/com/google/gerrit/server/audit",
David Pursehousea1dacf12019-01-25 11:37:14 +090047 "//java/com/google/gerrit/server/cache/mem",
Edwin Kempin87527aa2018-09-06 16:12:54 +020048 "//java/com/google/gerrit/server/logging",
David Ostrovsky460a3f32018-09-04 08:13:51 +020049 "//java/com/google/gerrit/server/schema",
Edwin Kempinad196262018-09-18 17:55:51 +020050 "//java/com/google/gerrit/server/util/time",
David Pursehouse562b1662018-11-17 00:31:41 -080051 "//java/com/google/gerrit/util/cli",
Dave Borowitz791da3a642018-06-12 10:52:22 -040052 "//java/com/google/gerrit/util/http",
Dave Borowitzc58702a2019-04-08 14:46:16 -070053 "//java/com/google/gwtorm",
David Ostrovskyfc1a9c72019-04-17 07:51:58 -070054 "//lib/antlr:java-runtime",
55 "//lib/auto:auto-value-annotations",
David Pursehouse4610fca2018-07-17 12:56:33 +090056 "//lib/commons:compress",
David Ostrovsky32c69332017-08-24 22:10:33 +020057 "//lib/commons:dbcp",
58 "//lib/commons:lang",
David Ostrovsky32c69332017-08-24 22:10:33 +020059 "//lib/dropwizard:dropwizard-core",
Edwin Kempin8860e8e2018-05-08 11:19:37 +020060 "//lib/flogger:api",
David Ostrovsky32c69332017-08-24 22:10:33 +020061 "//lib/guice:guice",
62 "//lib/guice:guice-assistedinject",
63 "//lib/guice:guice-servlet",
David Ostrovskye1359a32018-06-08 09:16:50 +020064 "//lib/guice:javax_inject",
David Ostrovsky32c69332017-08-24 22:10:33 +020065 "//lib/httpcomponents:httpclient",
66 "//lib/httpcomponents:httpcore",
Hector Oswaldo Caballerocbc86c62017-12-22 09:01:53 -050067 "//lib/jackson:jackson-core",
David Ostrovsky32c69332017-08-24 22:10:33 +020068 "//lib/jgit/org.eclipse.jgit.http.server:jgit-servlet",
69 "//lib/jgit/org.eclipse.jgit:jgit",
70 "//lib/log:api",
71 "//lib/log:log4j",
72 "//lib/mina:sshd",
73 "//lib/ow2:ow2-asm",
74 "//lib/ow2:ow2-asm-analysis",
75 "//lib/ow2:ow2-asm-commons",
76 "//lib/ow2:ow2-asm-util",
77 "//lib:args4j",
78 "//lib:blame-cache",
79 "//lib:guava",
80 "//lib:guava-retrying",
81 "//lib:gson",
David Ostrovsky32c69332017-08-24 22:10:33 +020082 "//lib:icu4j",
83 "//lib:jsch",
84 "//lib:mime-util",
85 "//lib:protobuf",
86 "//lib:servlet-api-3_1-without-neverlink",
87 "//lib:soy",
88 "//prolog:gerrit-prolog-common",
89]
90
91java_binary(
92 name = "plugin-api",
93 main_class = "Dummy",
94 visibility = ["//visibility:public"],
95 runtime_deps = [":plugin-lib"],
96)
97
98java_library(
99 name = "plugin-lib",
100 visibility = ["//visibility:public"],
101 exports = PLUGIN_API + EXPORTS,
102)
103
104java_library(
105 name = "plugin-lib-neverlink",
106 neverlink = 1,
107 visibility = ["//visibility:public"],
108 exports = PLUGIN_API + EXPORTS,
109)
110
111java_binary(
112 name = "plugin-api-sources",
113 main_class = "Dummy",
114 visibility = ["//visibility:public"],
115 runtime_deps = [
David Ostrovskyf51cf232018-08-31 06:19:26 +0200116 "//antlr3:libquery_parser-src.jar",
David Ostrovsky32c69332017-08-24 22:10:33 +0200117 "//java/com/google/gerrit/common:libannotations-src.jar",
118 "//java/com/google/gerrit/common:libserver-src.jar",
119 "//java/com/google/gerrit/extensions:libapi-src.jar",
120 "//java/com/google/gerrit/httpd:libhttpd-src.jar",
121 "//java/com/google/gerrit/index:libindex-src.jar",
122 "//java/com/google/gerrit/index:libquery_exception-src.jar",
David Ostrovsky32c69332017-08-24 22:10:33 +0200123 "//java/com/google/gerrit/pgm/init/api:libapi-src.jar",
124 "//java/com/google/gerrit/reviewdb:libserver-src.jar",
David Ostrovsky590071e2017-09-21 22:54:20 +0200125 "//java/com/google/gerrit/server:libserver-src.jar",
David Ostrovskye1f11c72018-01-18 06:35:24 +0100126 "//java/com/google/gerrit/server/restapi:librestapi-src.jar",
David Ostrovsky32c69332017-08-24 22:10:33 +0200127 "//java/com/google/gerrit/sshd:libsshd-src.jar",
Dave Borowitz791da3a642018-06-12 10:52:22 -0400128 "//java/com/google/gerrit/util/http:libhttp-src.jar",
David Ostrovsky32c69332017-08-24 22:10:33 +0200129 ],
130)
131
David Ostrovsky32c69332017-08-24 22:10:33 +0200132java_doc(
133 name = "plugin-api-javadoc",
134 libs = PLUGIN_API + [
David Ostrovskyf51cf232018-08-31 06:19:26 +0200135 "//antlr3:query_parser",
David Ostrovsky32c69332017-08-24 22:10:33 +0200136 "//java/com/google/gerrit/index",
137 "//java/com/google/gerrit/index:query_exception",
David Ostrovsky32c69332017-08-24 22:10:33 +0200138 "//java/com/google/gerrit/common:annotations",
139 "//java/com/google/gerrit/common:server",
140 "//java/com/google/gerrit/extensions:api",
David Ostrovsky32c69332017-08-24 22:10:33 +0200141 "//java/com/google/gerrit/reviewdb:server",
Dave Borowitz791da3a642018-06-12 10:52:22 -0400142 "//java/com/google/gerrit/util/http",
David Ostrovsky32c69332017-08-24 22:10:33 +0200143 ],
144 pkgs = ["com.google.gerrit"],
145 title = "Gerrit Review Plugin API Documentation",
146 visibility = ["//visibility:public"],
147)