blob: 1ce0fba737e52b422461838ff83c71c2fbb3b795 [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 = [
David Ostrovskyf51cf232018-08-31 06:19:26 +020030 "//antlr3:query_parser",
David Ostrovsky32c69332017-08-24 22:10:33 +020031 "//java/com/google/gerrit/common:annotations",
32 "//java/com/google/gerrit/common:server",
33 "//java/com/google/gerrit/extensions:api",
Dave Borowitz3770c702018-11-13 17:07:14 -080034 "//java/com/google/gerrit/git",
David Ostrovsky32c69332017-08-24 22:10:33 +020035 "//java/com/google/gerrit/index",
36 "//java/com/google/gerrit/index:query_exception",
David Ostrovsky32c69332017-08-24 22:10:33 +020037 "//java/com/google/gerrit/lifecycle",
38 "//java/com/google/gerrit/metrics",
39 "//java/com/google/gerrit/metrics/dropwizard",
40 "//java/com/google/gerrit/reviewdb:server",
David Ostrovsky37748ec2018-08-14 08:36:11 +020041 "//java/com/google/gerrit/server/audit",
Edwin Kempin87527aa2018-09-06 16:12:54 +020042 "//java/com/google/gerrit/server/logging",
David Ostrovsky460a3f32018-09-04 08:13:51 +020043 "//java/com/google/gerrit/server/schema",
Edwin Kempinad196262018-09-18 17:55:51 +020044 "//java/com/google/gerrit/server/util/time",
Dave Borowitz791da3a642018-06-12 10:52:22 -040045 "//java/com/google/gerrit/util/http",
David Pursehouse4610fca2018-07-17 12:56:33 +090046 "//lib/commons:compress",
David Ostrovsky32c69332017-08-24 22:10:33 +020047 "//lib/commons:dbcp",
48 "//lib/commons:lang",
David Ostrovsky32c69332017-08-24 22:10:33 +020049 "//lib/dropwizard:dropwizard-core",
Edwin Kempin8860e8e2018-05-08 11:19:37 +020050 "//lib/flogger:api",
David Ostrovsky32c69332017-08-24 22:10:33 +020051 "//lib/guice:guice",
52 "//lib/guice:guice-assistedinject",
53 "//lib/guice:guice-servlet",
David Ostrovskye1359a32018-06-08 09:16:50 +020054 "//lib/guice:javax_inject",
David Ostrovsky32c69332017-08-24 22:10:33 +020055 "//lib/httpcomponents:httpclient",
56 "//lib/httpcomponents:httpcore",
Hector Oswaldo Caballerocbc86c62017-12-22 09:01:53 -050057 "//lib/jackson:jackson-core",
David Ostrovsky32c69332017-08-24 22:10:33 +020058 "//lib/jgit/org.eclipse.jgit.http.server:jgit-servlet",
59 "//lib/jgit/org.eclipse.jgit:jgit",
60 "//lib/log:api",
61 "//lib/log:log4j",
62 "//lib/mina:sshd",
63 "//lib/ow2:ow2-asm",
64 "//lib/ow2:ow2-asm-analysis",
65 "//lib/ow2:ow2-asm-commons",
66 "//lib/ow2:ow2-asm-util",
67 "//lib:args4j",
68 "//lib:blame-cache",
69 "//lib:guava",
70 "//lib:guava-retrying",
71 "//lib:gson",
72 "//lib:gwtorm",
73 "//lib:icu4j",
74 "//lib:jsch",
75 "//lib:mime-util",
76 "//lib:protobuf",
77 "//lib:servlet-api-3_1-without-neverlink",
78 "//lib:soy",
79 "//prolog:gerrit-prolog-common",
80]
81
82java_binary(
83 name = "plugin-api",
84 main_class = "Dummy",
85 visibility = ["//visibility:public"],
86 runtime_deps = [":plugin-lib"],
87)
88
89java_library(
90 name = "plugin-lib",
91 visibility = ["//visibility:public"],
92 exports = PLUGIN_API + EXPORTS,
93)
94
95java_library(
96 name = "plugin-lib-neverlink",
97 neverlink = 1,
98 visibility = ["//visibility:public"],
99 exports = PLUGIN_API + EXPORTS,
100)
101
102java_binary(
103 name = "plugin-api-sources",
104 main_class = "Dummy",
105 visibility = ["//visibility:public"],
106 runtime_deps = [
David Ostrovskyf51cf232018-08-31 06:19:26 +0200107 "//antlr3:libquery_parser-src.jar",
David Ostrovsky32c69332017-08-24 22:10:33 +0200108 "//java/com/google/gerrit/common:libannotations-src.jar",
109 "//java/com/google/gerrit/common:libserver-src.jar",
110 "//java/com/google/gerrit/extensions:libapi-src.jar",
111 "//java/com/google/gerrit/httpd:libhttpd-src.jar",
112 "//java/com/google/gerrit/index:libindex-src.jar",
113 "//java/com/google/gerrit/index:libquery_exception-src.jar",
David Ostrovsky32c69332017-08-24 22:10:33 +0200114 "//java/com/google/gerrit/pgm/init/api:libapi-src.jar",
115 "//java/com/google/gerrit/reviewdb:libserver-src.jar",
David Ostrovsky590071e2017-09-21 22:54:20 +0200116 "//java/com/google/gerrit/server:libserver-src.jar",
David Ostrovskye1f11c72018-01-18 06:35:24 +0100117 "//java/com/google/gerrit/server/restapi:librestapi-src.jar",
David Ostrovsky32c69332017-08-24 22:10:33 +0200118 "//java/com/google/gerrit/sshd:libsshd-src.jar",
Dave Borowitz791da3a642018-06-12 10:52:22 -0400119 "//java/com/google/gerrit/util/http:libhttp-src.jar",
David Ostrovsky32c69332017-08-24 22:10:33 +0200120 ],
121)
122
123load("//tools/bzl:javadoc.bzl", "java_doc")
124
125java_doc(
126 name = "plugin-api-javadoc",
127 libs = PLUGIN_API + [
David Ostrovskyf51cf232018-08-31 06:19:26 +0200128 "//antlr3:query_parser",
David Ostrovsky32c69332017-08-24 22:10:33 +0200129 "//java/com/google/gerrit/index",
130 "//java/com/google/gerrit/index:query_exception",
David Ostrovsky32c69332017-08-24 22:10:33 +0200131 "//java/com/google/gerrit/common:annotations",
132 "//java/com/google/gerrit/common:server",
133 "//java/com/google/gerrit/extensions:api",
David Ostrovsky32c69332017-08-24 22:10:33 +0200134 "//java/com/google/gerrit/reviewdb:server",
Dave Borowitz791da3a642018-06-12 10:52:22 -0400135 "//java/com/google/gerrit/util/http",
David Ostrovsky32c69332017-08-24 22:10:33 +0200136 ],
137 pkgs = ["com.google.gerrit"],
138 title = "Gerrit Review Plugin API Documentation",
139 visibility = ["//visibility:public"],
140)