blob: 33d340d47ed72ec9cc7d22524dab76dff5bd8874 [file] [log] [blame]
iirinaa8353612019-08-06 14:06:09 +02001load("@rules_java//java:defs.bzl", "java_import", "java_library", "java_plugin")
Yun Peng92bbcd02020-05-25 13:21:40 +02002load("//tools/distributions:distribution_rules.bzl", "distrib_java_import", "distrib_jar_filegroup")
iirinaa8353612019-08-06 14:06:09 +02003
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +01004package(default_visibility = ["//visibility:public"])
5
Tony Aiuto0ebf8e22019-07-18 15:08:49 -04006load("@rules_pkg//:pkg.bzl", "pkg_tar")
iirina73d53812019-01-17 13:27:47 +01007
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +01008filegroup(
9 name = "srcs",
10 srcs = glob(["**"]) + [
Tomas Lundellb4a20342017-10-11 10:34:33 -040011 "//third_party/allocation_instrumenter:srcs",
Jakob Buchgrabere8f4e5e2018-11-30 12:50:22 +010012 "//third_party/aws-sdk-auth-lite:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010013 "//third_party/css/bootstrap:srcs",
14 "//third_party/css/font_awesome:srcs",
15 "//third_party/ijar:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010016 "//third_party/grpc:srcs",
Liam Miller-Cushonc7e72322018-03-29 12:41:15 -070017 "//third_party/jarjar:srcs",
Tobias Werth17703662019-01-24 09:49:56 -050018 "//third_party/jaxb:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010019 "//third_party/java/android_databinding:srcs",
20 "//third_party/java/aosp_gradle_core:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010021 "//third_party/java/j2objc:srcs",
22 "//third_party/java/jacoco:srcs",
Yue Gan25969952017-01-04 13:23:09 +080023 "//third_party/java/javapoet:srcs",
John Cater6163d432017-10-30 11:56:51 -040024 "//third_party/java/jcommander:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010025 "//third_party/java/jdk/langtools:srcs",
Adam Michaelb4ebfd72017-09-21 15:00:07 -040026 "//third_party/java/proguard:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010027 "//third_party/javascript/bootstrap:srcs",
28 "//third_party/checker_framework_dataflow:srcs",
29 "//third_party/checker_framework_javacutil:srcs",
30 "//third_party/jformatstring:srcs",
31 "//third_party/protobuf:srcs",
Laszlo Csomor5ada1402019-10-28 14:27:50 +010032 "//third_party/py/abseil:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010033 "//third_party/py/concurrent:srcs",
34 "//third_party/py/gflags:srcs",
35 "//third_party/py/mock:srcs",
36 "//third_party/py/six:srcs",
Jon Brandvein473e4292019-08-01 10:26:24 -040037 "//third_party/rules_python:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010038 "//third_party/zlib:srcs",
Yun Peng125a0ec2017-08-28 15:02:08 +020039 "//third_party/def_parser:srcs",
Marcel Hlopkofdb43642017-10-11 17:40:48 +020040 "//third_party/pprof:srcs",
John Caterb5661a82018-11-09 14:13:16 -050041 "@googleapis//:srcs",
42 "@remoteapis//:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010043 ],
44)
45
46# Filegroup to ship the sources to the Bazel embededded tools
47# This filegroup should contains all GPL with classpath exception
48# and LGPL code that we use in Bazel.
49filegroup(
50 name = "gpl-srcs",
51 srcs = [
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010052 "//third_party/jformatstring:srcs",
53 ],
54)
55
Tobias Werth0e3db342019-04-09 10:33:06 +020056# This target only contains the jars that are used for building / running Bazel.
57# The target below is for the Android tools that are not shipped with Bazel.
Yun Pengf3a1ee12020-05-14 15:50:00 +020058distrib_java_import(
Tobias Werth0e3db342019-04-09 10:33:06 +020059 name = "android_common_25_0_0_lite",
60 jars = [
Tobias Werthed625e32019-04-18 11:13:04 +020061 "android_common/com.android.tools.layoutlib_layoutlib_26.1.2-stripped.jar",
62 "android_common/com.android.tools_sdk-common_25.0.0-stripped.jar",
Tobias Werth0e3db342019-04-09 10:33:06 +020063 "android_common/com.android.tools_repository_25.0.0.jar",
64 ],
65 deps = [
66 "//third_party/jaxb",
67 ],
Yun Pengf3a1ee12020-05-14 15:50:00 +020068 enable_distributions = ["debian"],
Tobias Werth0e3db342019-04-09 10:33:06 +020069)
70
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010071java_import(
72 name = "android_common_25_0_0",
73 jars = [
74 "android_common/com.android_annotations_25.0.0.jar",
75 "android_common/com.android.tools.build_builder_2.0.0.jar",
76 "android_common/com.android.tools.build_builder-model_2.0.0.jar",
77 "android_common/com.android.tools.build_builder-test-api_2.0.0.jar",
Jingwen Chen59327302018-12-19 18:16:48 -050078 "android_common/com.android.tools.build_manifest-merger_25.0.0-patched.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010079 "android_common/com.android.tools.external.lombok_lombok-ast_0.2.3.jar",
Jingwen Chenab013292018-05-28 22:41:36 -040080 # layoutlib has been upgraded to 26.1.2 *just* for font resource support.
81 # We are unable to upgrade the other libraries yet due to internal
82 # constraints with Blaze. See
83 # https://github.com/bazelbuild/bazel/issues/4381
84 # TODO(bazel-team): Upgrade entire android_common suite to 26+ after
85 # resolving internal constraint.
86 "android_common/com.android.tools.layoutlib_layoutlib_26.1.2.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010087 "android_common/com.android.tools.lint_lint-api_25.0.0.jar",
88 "android_common/com.android.tools.lint_lint-checks_25.0.0.jar",
89 "android_common/com.android.tools_common_25.0.0.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010090 "android_common/com.android.tools_dvlib_25.0.0.jar",
91 "android_common/com.android.tools_repository_25.0.0.jar",
92 "android_common/com.android.tools_sdk-common_25.0.0.jar",
93 "android_common/com.android.tools_sdklib_25.0.0.jar",
94 ],
95 runtime_deps = [
96 ":asm",
97 ":asm-analysis",
98 ":asm-tree",
99 ],
iirinaae744f32019-02-15 11:35:42 +0100100 deps = [
101 "//third_party/jaxb",
102 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100103)
104
Yun Peng3531c862020-05-11 15:06:09 +0200105distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100106 name = "apache_commons_collections",
107 jars = ["apache_commons_collections/commons-collections-3.2.2.jar"],
Yun Peng3531c862020-05-11 15:06:09 +0200108 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100109)
110
Yun Peng3531c862020-05-11 15:06:09 +0200111distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100112 name = "apache_commons_lang",
113 jars = ["apache_commons_lang/commons-lang-2.6.jar"],
Yun Peng3531c862020-05-11 15:06:09 +0200114 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100115)
116
Yun Peng3531c862020-05-11 15:06:09 +0200117distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100118 name = "apache_commons_compress",
119 jars = ["apache_commons_compress/apache-commons-compress-1.9.jar"],
Yun Peng3531c862020-05-11 15:06:09 +0200120 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100121)
122
Yun Peng3531c862020-05-11 15:06:09 +0200123distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100124 name = "apache_commons_logging",
125 jars = ["apache_commons_logging/commons-logging-1.1.1.jar"],
Yun Peng3531c862020-05-11 15:06:09 +0200126 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100127)
128
Yun Peng3531c862020-05-11 15:06:09 +0200129distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100130 name = "apache_commons_pool2",
Philipp Wollermannbbb66cb2020-04-07 16:58:48 +0200131 jars = ["apache_commons_pool2/commons-pool2-2.8.0.jar"],
Yun Peng3531c862020-05-11 15:06:09 +0200132 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100133)
134
Yun Peng3531c862020-05-11 15:06:09 +0200135distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100136 name = "apache_velocity",
137 jars = ["apache_velocity/velocity-1.7.jar"],
138 deps = [
139 ":apache_commons_collections",
140 ":apache_commons_lang",
141 ],
Yun Peng3531c862020-05-11 15:06:09 +0200142 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100143)
144
145java_import(
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400146 name = "api_client",
147 jars = [
148 "api_client/google-api-client-1.22.0.jar",
149 "api_client/google-api-client-jackson2-1.22.0.jar",
Jakob Buchgrabere5bb2db2017-12-15 14:26:10 +0100150 "api_client/google-http-client-1.22.0-SNAPSHOT.jar",
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400151 "api_client/google-http-client-jackson2-1.22.0.jar",
152 ],
153 runtime_deps = [
154 ":jackson2",
155 ],
156)
157
Yun Peng3531c862020-05-11 15:06:09 +0200158distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100159 name = "asm",
Donald Duo Zhaof2489192020-04-29 03:30:45 -0700160 jars = ["asm/asm-8.0.jar"],
161 srcjar = "asm/asm-8.0-sources.jar",
Yun Peng3531c862020-05-11 15:06:09 +0200162 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100163)
164
165java_import(
166 name = "asm-analysis",
Donald Duo Zhaof2489192020-04-29 03:30:45 -0700167 jars = ["asm/asm-analysis-8.0.jar"],
168 srcjar = "asm/asm-analysis-8.0-sources.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100169 runtime_deps = [":asm-tree"],
170)
171
172java_import(
173 name = "asm-commons",
Donald Duo Zhaof2489192020-04-29 03:30:45 -0700174 jars = ["asm/asm-commons-8.0.jar"],
175 srcjar = "asm/asm-commons-8.0-sources.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100176 runtime_deps = [":asm-tree"],
177)
178
179java_import(
180 name = "asm-tree",
Donald Duo Zhaof2489192020-04-29 03:30:45 -0700181 jars = ["asm/asm-tree-8.0.jar"],
182 srcjar = "asm/asm-tree-8.0-sources.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100183 runtime_deps = [":asm"],
184)
185
186java_import(
187 name = "asm-util",
Donald Duo Zhaof2489192020-04-29 03:30:45 -0700188 jars = ["asm/asm-util-8.0.jar"],
189 srcjar = "asm/asm-util-8.0-sources.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100190 runtime_deps = [":asm-tree"],
191)
192
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400193java_import(
194 name = "auth",
195 jars = [
Jakob Buchgraber49d99f32019-08-27 09:59:38 +0200196 "auth/google-auth-library-oauth2-http-0.17.1.jar",
197 "auth/google-auth-library-credentials-0.17.1.jar",
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400198 ],
199 runtime_deps = [
200 ":api_client",
201 ":guava",
Jakob Buchgrabere8f4e5e2018-11-30 12:50:22 +0100202 "//third_party/aws-sdk-auth-lite",
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400203 ],
204)
205
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100206java_plugin(
207 name = "auto_annotation_plugin",
208 processor_class = "com.google.auto.value.processor.AutoAnnotationProcessor",
209 deps = [
210 ":apache_commons_collections",
211 ":apache_velocity",
212 ":asm",
213 ":auto_common",
Shahan Yang96ea65b2017-12-15 17:25:23 -0500214 ":auto_service_lib",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100215 ":auto_value_value",
216 ":guava",
217 ":jsr305",
218 ":tomcat_annotations_api",
219 ],
220)
221
222java_import(
223 name = "auto_common",
Jakob Buchgraber3d7d6932018-12-03 13:26:08 +0100224 jars = ["auto/auto-common-0.10.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100225)
226
Shahan Yang96ea65b2017-12-15 17:25:23 -0500227java_library(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100228 name = "auto_service",
Shahan Yang96ea65b2017-12-15 17:25:23 -0500229 exported_plugins = [
230 ":auto_service_plugin",
231 ],
232 exports = [
233 ":auto_service_lib",
234 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100235)
236
237java_plugin(
238 name = "auto_service_plugin",
239 processor_class = "com.google.auto.service.processor.AutoServiceProcessor",
240 deps = [
241 ":auto_common",
Shahan Yang96ea65b2017-12-15 17:25:23 -0500242 ":auto_service_lib",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100243 ":guava",
244 ],
245)
246
Shahan Yang96ea65b2017-12-15 17:25:23 -0500247java_import(
248 name = "auto_service_lib",
Jakob Buchgraber3d7d6932018-12-03 13:26:08 +0100249 jars = ["auto/auto-service-1.0-rc4.jar"],
Shahan Yang96ea65b2017-12-15 17:25:23 -0500250)
251
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100252java_plugin(
253 name = "auto_value_plugin",
254 processor_class = "com.google.auto.value.processor.AutoValueProcessor",
255 deps = [
256 ":apache_commons_collections",
257 ":apache_velocity",
258 ":asm",
259 ":auto_common",
Shahan Yang96ea65b2017-12-15 17:25:23 -0500260 ":auto_service_lib",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100261 ":auto_value_value",
262 ":guava",
263 ":tomcat_annotations_api",
264 ],
265)
266
267java_library(
268 name = "auto_value",
269 exported_plugins = [
270 ":auto_annotation_plugin",
271 ":auto_value_plugin",
272 ],
273 exports = [
274 ":auto_value_value",
275 ":tomcat_annotations_api",
276 ],
277)
278
279java_import(
280 name = "auto_value_value",
Jingwen Chen59327302018-12-19 18:16:48 -0500281 jars = [
282 "auto/auto-value-1.6.3rc1.jar",
283 "auto/auto-value-annotations-1.6.3rc1.jar",
284 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100285)
286
287# For bootstrapping JavaBuilder
288filegroup(
289 name = "auto_value-jars",
Jingwen Chen59327302018-12-19 18:16:48 -0500290 srcs = [
291 "auto/auto-value-1.6.3rc1.jar",
292 "auto/auto-value-annotations-1.6.3rc1.jar",
293 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100294)
295
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100296java_import(
Tim van der Lippebb9dae12019-03-12 16:18:06 +0000297 name = "byte_buddy",
298 jars = [
299 "bytebuddy/byte-buddy-1.9.7.jar",
300 "bytebuddy/byte-buddy-agent-1.9.7.jar",
301 ],
302)
303
304java_import(
Justin Horvitz255d35c2019-04-30 15:50:34 -0400305 name = "checker_framework_annotations",
Liam Miller-Cushon3a57a522019-11-11 06:41:59 -0800306 jars = ["checker_framework_annotations/checker-qual-3.0.0.jar"],
307 srcjar = "checker_framework_annotations/checker-qual-3.0.0-sources.jar",
Justin Horvitz255d35c2019-04-30 15:50:34 -0400308)
309
310java_import(
Christopher Parsonsf169dad2017-11-30 13:56:32 -0500311 name = "compile_testing",
Chris Povirkf2a3ba22019-06-04 11:30:33 -0400312 jars = ["compile_testing/compile-testing-0.18.jar"],
Christopher Parsonsf169dad2017-11-30 13:56:32 -0500313)
314
Yun Pengc393ef22020-05-04 17:53:59 +0200315distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100316 name = "gson",
317 jars = ["gson/gson-2.2.4.jar"],
Yun Pengc393ef22020-05-04 17:53:59 +0200318 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100319)
320
321java_import(
Liam Miller-Cushon296cb422017-08-21 16:22:06 -0700322 name = "hungarian_algorithm",
323 jars = ["hungarian_algorithm/software-and-algorithms-1.0.jar"],
324 srcjar = "hungarian_algorithm/software-and-algorithms-1.0-src.jar",
325)
326
327java_import(
Liam Miller-Cushond91974e2018-04-23 09:34:06 +0200328 name = "error_prone_annotations",
329 jars = [
330 "error_prone/error_prone_annotations-2.2.0.jar",
Irina Iancufe67c702019-10-15 09:14:36 +0200331 "error_prone/error_prone_type_annotations-2.3.2-SNAPSHOT.jar",
Liam Miller-Cushond91974e2018-04-23 09:34:06 +0200332 ],
333)
334
335java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100336 name = "error_prone",
337 jars = [
Irina Iancufe67c702019-10-15 09:14:36 +0200338 "error_prone/error_prone_annotation-2.3.2-SNAPSHOT.jar",
339 "error_prone/error_prone_check_api-2.3.2-SNAPSHOT.jar",
340 "error_prone/error_prone_core-2.3.2-SNAPSHOT.jar",
Liam Miller-Cushond91974e2018-04-23 09:34:06 +0200341 ],
342 exports = [
343 ":error_prone_annotations",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100344 ],
Liam Miller-Cushon296cb422017-08-21 16:22:06 -0700345 deps = [
Liam Miller-Cushon0785cbb2017-02-16 07:56:48 -0800346 ":auto_common",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100347 ":guava",
Liam Miller-Cushon296cb422017-08-21 16:22:06 -0700348 ":hungarian_algorithm",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100349 ":jcip_annotations",
350 ":jsr305",
351 ":pcollections",
352 "//third_party/checker_framework_dataflow",
353 "//third_party/jformatstring",
354 ],
355)
356
Yun Peng3531c862020-05-11 15:06:09 +0200357distrib_java_import(
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400358 name = "jackson2",
359 jars = [
360 "jackson2/jackson-core-2.8.6.jar",
361 ],
Yun Peng3531c862020-05-11 15:06:09 +0200362 enable_distributions = ["debian"],
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400363)
364
Yun Peng3531c862020-05-11 15:06:09 +0200365distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100366 name = "jcip_annotations",
367 jars = [
368 "jcip_annotations/jcip-annotations-1.0-1.jar",
369 ],
Yun Peng3531c862020-05-11 15:06:09 +0200370 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100371)
372
Yun Peng92bbcd02020-05-25 13:21:40 +0200373# For bootstrapping JavaBuilder
374distrib_jar_filegroup(
375 name = "jcip_annotations-jars",
376 srcs = [
377 "jcip_annotations/jcip-annotations-1.0-1.jar",
378 ],
379 enable_distributions = ["debian"],
380)
381
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100382java_import(
383 name = "pcollections",
384 jars = [
385 "pcollections/pcollections-2.1.2.jar",
386 ],
387)
388
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100389# For bootstrapping JavaBuilder
390filegroup(
Liam Miller-Cushon8470be12017-04-26 17:40:54 -0700391 name = "bootstrap_guava_and_error_prone-jars",
Liam Miller-Cushonbc133cb2017-04-10 12:08:34 -0700392 srcs = [
Liam Miller-Cushon4ba60d02018-01-08 15:58:12 -0800393 "error_prone/error_prone_annotations-2.2.0.jar",
Yun Peng92bbcd02020-05-25 13:21:40 +0200394 ":guava-jars",
395 ":jcip_annotations-jars",
396 ":jsr305-jars",
Liam Miller-Cushonbc133cb2017-04-10 12:08:34 -0700397 ],
398)
399
Yun Peng3253af22020-05-26 13:51:12 +0200400distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100401 name = "guava",
Philipp Wollermanndbc4f1f2018-07-25 11:00:42 +0200402 jars = ["guava/guava-25.1-jre.jar"],
Liam Miller-Cushond91974e2018-04-23 09:34:06 +0200403 exports = [
404 ":error_prone_annotations",
405 ":jcip_annotations",
406 ":jsr305",
Liam Miller-Cushon05a704f2017-09-01 06:56:07 -0700407 ],
Yun Peng3253af22020-05-26 13:51:12 +0200408 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100409)
410
Jakob Buchgraber74cea832017-05-29 09:56:22 +0200411java_import(
Janak Ramakrishnan845fff22018-09-11 00:41:37 -0400412 name = "flogger",
Janak Ramakrishnanafe6c702018-10-01 13:46:20 -0400413 jars = [
Janak Ramakrishnan1b0ea312020-03-31 19:26:57 -0400414 "flogger/flogger-0.5.1.jar",
415 "flogger/flogger-system-backend-0.5.1.jar",
416 "flogger/google-extensions-0.5.1.jar",
Janak Ramakrishnanafe6c702018-10-01 13:46:20 -0400417 ],
Janak Ramakrishnan845fff22018-09-11 00:41:37 -0400418)
419
Janak Ramakrishnanc5bb9b02018-10-02 18:42:05 -0400420filegroup(
421 name = "flogger-jars",
422 srcs = [
Janak Ramakrishnan1b0ea312020-03-31 19:26:57 -0400423 "flogger/flogger-0.5.1.jar",
424 "flogger/flogger-system-backend-0.5.1.jar",
425 "flogger/google-extensions-0.5.1.jar",
Liam Miller-Cushon28aabae2018-10-15 18:54:58 -0700426 ],
Janak Ramakrishnanc5bb9b02018-10-02 18:42:05 -0400427)
428
Janak Ramakrishnan845fff22018-09-11 00:41:37 -0400429java_import(
Jakob Buchgraber8c863362017-09-01 12:09:28 +0200430 name = "opencensus-api",
431 jars = [
Yun Pengdfbf87c2020-06-03 17:13:45 +0200432 "opencensus/opencensus-api-0.24.0.jar",
433 "opencensus/opencensus-contrib-grpc-metrics-0.24.0.jar",
434 ],
435)
436
437java_import(
438 name = "perfmark-api",
439 jars = [
440 "perfmark/perfmark-api-0.19.0.jar",
Jakob Buchgraber74cea832017-05-29 09:56:22 +0200441 ],
442)
443
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100444# For bootstrapping JavaBuilder
Yun Peng3253af22020-05-26 13:51:12 +0200445distrib_jar_filegroup(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100446 name = "guava-jars",
Philipp Wollermanndbc4f1f2018-07-25 11:00:42 +0200447 srcs = ["guava/guava-25.1-jre.jar"],
Yun Peng3253af22020-05-26 13:51:12 +0200448 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100449)
450
Liam Miller-Cushon47b2bf72018-03-28 23:18:05 -0700451# javax.annotation.Generated is not included in the default root modules in 9,
452# see: http://openjdk.java.net/jeps/320.
Yun Peng3531c862020-05-11 15:06:09 +0200453distrib_java_import(
Liam Miller-Cushon47b2bf72018-03-28 23:18:05 -0700454 name = "javax_annotations",
455 jars = ["javax_annotations/javax.annotation-api-1.3.2.jar"],
456 neverlink = 1, # @Generated is source-retention
457 srcjar = "javax_annotations/javax.annotation-api-1.3.2-sources.jar",
Yun Peng3531c862020-05-11 15:06:09 +0200458 enable_distributions = ["debian"],
Liam Miller-Cushon47b2bf72018-03-28 23:18:05 -0700459)
460
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100461java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100462 name = "jimfs",
Liam Miller-Cushon4d0582f2017-03-07 18:08:25 -0800463 jars = ["jimfs/jimfs-1.1.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100464)
465
Yun Peng3531c862020-05-11 15:06:09 +0200466distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100467 name = "jsr305",
468 jars = ["jsr305/jsr-305.jar"],
Yun Peng3531c862020-05-11 15:06:09 +0200469 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100470)
471
472# For bootstrapping JavaBuilder
Yun Peng92bbcd02020-05-25 13:21:40 +0200473distrib_jar_filegroup(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100474 name = "jsr305-jars",
475 srcs = ["jsr305/jsr-305.jar"],
Yun Peng92bbcd02020-05-25 13:21:40 +0200476 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100477)
478
479java_import(
480 name = "jsr330_inject",
481 jars = ["jsr330_inject/javax.inject.jar"],
482)
483
Lukacs T. Berki13740852019-06-05 08:49:42 +0200484UNNECESSARY_DYNAMIC_LIBRARIES = select({
485 "//src/conditions:windows": "*.so *.jnilib",
486 "//src/conditions:darwin": "*.so *.dll",
487 "//src/conditions:darwin_x86_64": "*.so *.dll",
488 "//src/conditions:linux_x86_64": "*.jnilib *.dll",
489 # The .so file is an x86 one, so we can just remove it if the CPU is not x86
490 "//src/conditions:arm": "*.so *.jnilib *.dll",
491 "//src/conditions:linux_aarch64": "*.so *.jnilib *.dll",
Christy Norman27612bb2019-10-07 11:46:00 -0400492 "//src/conditions:linux_ppc": "*.so *.jnilib *.dll",
Jonathan Springerab62a6e2020-01-24 07:28:53 +0000493 "//src/conditions:linux_s390x": "*.so *.jnilib *.dll",
aldersondrive554e0f72020-02-08 04:06:26 -0500494 "//src/conditions:freebsd": "*.so *.jnilib *.dll",
aldersondrivee274da32020-01-23 09:31:57 -0500495 "//src/conditions:openbsd": "*.so *.jnilib *.dll",
Jonathan Springerab62a6e2020-01-24 07:28:53 +0000496 # Default is to play it safe -- better have a big binary than a slow binary
497 # The empty string means nothing is to be removed from the library;
498 # the rule command tests for the empty string explictly to avoid
499 # zip erroring when it finds nothing to remove.
500 "//conditions:default": "",
Lukacs T. Berki13740852019-06-05 08:49:42 +0200501})
502
503# Remove native libraries that are for a platform different from the one we are
504# building Bazel for.
505genrule(
506 name = "filter_netty_dynamic_libs",
507 srcs = ["netty_tcnative/netty-tcnative-boringssl-static-2.0.24.Final.jar"],
508 outs = ["netty_tcnative/netty-tcnative-filtered.jar"],
Jonathan Springerab62a6e2020-01-24 07:28:53 +0000509 cmd = "cp $< $@ && " +
John Cater9763d742020-03-12 14:38:53 -0400510 # End successfully if there is nothing to be deleted from the archive
511 "if [ -n '" + UNNECESSARY_DYNAMIC_LIBRARIES + "' ]; then " +
512 "zip -qd $@ " + UNNECESSARY_DYNAMIC_LIBRARIES + "; fi",
Lukacs T. Berki13740852019-06-05 08:49:42 +0200513)
514
Yun Pengc393ef22020-05-04 17:53:59 +0200515distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100516 name = "netty",
Jakob Buchgraber0dbbb4c2019-04-10 15:20:14 +0200517 jars = ["netty/netty-all-4.1.34.Final.jar"],
Yun Peng3531c862020-05-11 15:06:09 +0200518 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100519)
520
Yun Peng3531c862020-05-11 15:06:09 +0200521distrib_java_import(
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400522 name = "netty_tcnative",
Lukacs T. Berki13740852019-06-05 08:49:42 +0200523 jars = ["netty_tcnative/netty-tcnative-filtered.jar"],
Yun Peng3531c862020-05-11 15:06:09 +0200524 enable_distributions = ["debian"],
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400525)
526
Yun Pengc393ef22020-05-04 17:53:59 +0200527distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100528 name = "tomcat_annotations_api",
529 jars = ["tomcat_annotations_api/tomcat-annotations-api-8.0.5.jar"],
Yun Pengc393ef22020-05-04 17:53:59 +0200530 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100531)
532
Liam Miller-Cushon74776b42017-10-02 09:58:58 -0700533# For bootstrapping JavaBuilder
Yun Peng92bbcd02020-05-25 13:21:40 +0200534distrib_jar_filegroup(
Liam Miller-Cushon74776b42017-10-02 09:58:58 -0700535 name = "tomcat_annotations_api-jars",
536 srcs = ["tomcat_annotations_api/tomcat-annotations-api-8.0.5.jar"],
Yun Peng92bbcd02020-05-25 13:21:40 +0200537 enable_distributions = ["debian"],
Liam Miller-Cushon74776b42017-10-02 09:58:58 -0700538)
539
Yun Peng27234582020-05-08 09:21:02 +0000540java_import(
541 name = "java-diff-utils",
542 jars = ["java-diff-utils/java-diff-utils-4.0.jar"],
543)
544
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100545# Testing
546
Yun Peng27234582020-05-08 09:21:02 +0000547# TODO: Remove this target after migrating to java-diff-utils
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100548java_import(
Jeff Lavallee55829652018-07-19 09:55:30 -0700549 name = "diffutils",
550 jars = ["diffutils/diffutils-1.3.0.jar"],
551)
552
553java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100554 name = "guava-testlib",
Philipp Wollermanndbc4f1f2018-07-25 11:00:42 +0200555 jars = ["guava/guava-testlib-25.1-jre.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100556)
557
558java_import(
559 name = "junit4",
560 jars = [
561 "hamcrest/hamcrest-core-1.3.jar",
Ulf Adams3e3e29e2020-02-19 12:10:29 +0100562 "junit/junit-4.13.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100563 ],
564)
565
566java_import(
567 name = "mockito",
Tim van der Lippe044a5f92019-03-19 14:49:15 +0000568 jars = ["mockito/mockito-core-2.25.1.jar"],
Philipp Wollermann6c99cf12018-07-17 12:54:11 +0200569 deps = [
Tim van der Lippe044a5f92019-03-19 14:49:15 +0000570 ":byte_buddy",
Philipp Wollermann6c99cf12018-07-17 12:54:11 +0200571 ":objenesis",
572 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100573)
574
575java_import(
Shahan Yang3016d972018-01-19 17:11:00 -0500576 name = "objenesis",
Philipp Wollermann6c99cf12018-07-17 12:54:11 +0200577 jars = ["objenesis/objenesis-1_3.jar"],
Shahan Yang3016d972018-01-19 17:11:00 -0500578)
579
Liam Miller-Cushonc1d87762018-09-09 17:00:18 -0700580filegroup(
581 name = "turbine_direct",
Liam Miller-Cushonb055f912019-01-10 11:44:58 -0800582 srcs = ["turbine/turbine_direct.jar"],
Liam Miller-Cushonc1d87762018-09-09 17:00:18 -0700583)
Liam Miller-Cushon28aabae2018-10-15 18:54:58 -0700584
Shahan Yang3016d972018-01-19 17:11:00 -0500585java_import(
Liam Miller-Cushon4a099f92017-01-03 23:02:56 -0800586 name = "turbine",
Liam Miller-Cushon28aabae2018-10-15 18:54:58 -0700587 jars = ["turbine/turbine_direct.jar"],
Liam Miller-Cushon4a099f92017-01-03 23:02:56 -0800588)
589
590java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100591 name = "truth",
John Cater9763d742020-03-12 14:38:53 -0400592 jars = ["truth/truth-1.0.1.jar"],
593 exports = [
594 ":truth8",
595 ],
Chris Povirk568048b2019-04-25 07:44:39 -0400596 deps = [
Jeff Lavallee55829652018-07-19 09:55:30 -0700597 ":diffutils",
598 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100599)
600
601java_import(
Rupert Shuttleworthbe62ee72017-11-08 11:19:01 -0500602 name = "truth8",
John Cater9763d742020-03-12 14:38:53 -0400603 jars = ["truth8/truth-java8-extension-1.0.1.jar"],
Rupert Shuttleworthbe62ee72017-11-08 11:19:01 -0500604)
605
Yun Peng3531c862020-05-11 15:06:09 +0200606distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100607 name = "xz",
608 jars = ["xz/xz-1.5.jar"],
Yun Peng3531c862020-05-11 15:06:09 +0200609 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100610)
611
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100612# To be used by the skylark example.
613filegroup(
614 name = "junit4-jars",
615 srcs = [
616 "hamcrest/hamcrest-core-1.3.jar",
Ulf Adams3e3e29e2020-02-19 12:10:29 +0100617 "junit/junit-4.13.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100618 ],
619)
620
scentinicade3ac2018-07-19 18:24:16 +0200621load(":compiler_config_setting.bzl", "create_compiler_config_setting")
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100622
Liam Miller-Cushon3a711882018-08-07 19:17:25 -0700623create_compiler_config_setting(
624 name = "windows_mingw",
625 value = "windows_mingw",
626)
627
628create_compiler_config_setting(
629 name = "windows_msys64",
630 value = "windows_msys64",
631)
632
633create_compiler_config_setting(
634 name = "windows_msys64_mingw64",
635 value = "windows_msys64_mingw64",
636)
637
638create_compiler_config_setting(
639 name = "windows_clang",
640 value = "windows_clang",
641)
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100642
643config_setting(
644 name = "darwin",
645 values = {"host_cpu": "darwin"},
646)
647
648config_setting(
649 name = "k8",
650 values = {"host_cpu": "k8"},
651)
652
653config_setting(
654 name = "piii",
655 values = {"host_cpu": "piii"},
656)
657
658config_setting(
659 name = "arm",
660 values = {"host_cpu": "arm"},
661)
662
663config_setting(
Marcel Hlopkod490b452018-07-03 15:43:18 +0200664 name = "aarch64",
665 values = {"host_cpu": "aarch64"},
666)
667
668config_setting(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100669 name = "freebsd",
670 values = {"host_cpu": "freebsd"},
671)
672
673config_setting(
aldersondrivee274da32020-01-23 09:31:57 -0500674 name = "openbsd",
675 values = {"host_cpu": "openbsd"},
676)
677
678config_setting(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100679 name = "s390x",
680 values = {"host_cpu": "s390x"},
681)
682
683config_setting(
684 name = "ppc",
685 values = {"host_cpu": "ppc"},
686)
László Csomor0ff54da2017-09-19 16:37:17 +0200687
688test_suite(
689 name = "all_windows_tests",
690 tests = [
691 "//third_party/def_parser:windows_tests",
692 ],
693 visibility = ["//src:__pkg__"],
694)