blob: 1c18f44915d1f8a6d944596eb3fa0aeda966d34e [file] [log] [blame]
iirinaa8353612019-08-06 14:06:09 +02001load("@rules_java//java:defs.bzl", "java_import", "java_library", "java_plugin")
Yun Pengc393ef22020-05-04 17:53:59 +02002load("//tools/distributions:distribution_rules.bzl", "distrib_java_import")
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",
16 "//third_party/iossim:srcs",
17 "//third_party/grpc:srcs",
Liam Miller-Cushonc7e72322018-03-29 12:41:15 -070018 "//third_party/jarjar:srcs",
Tobias Werth17703662019-01-24 09:49:56 -050019 "//third_party/jaxb:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010020 "//third_party/java/android_databinding:srcs",
21 "//third_party/java/aosp_gradle_core:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010022 "//third_party/java/j2objc:srcs",
23 "//third_party/java/jacoco:srcs",
Yue Gan25969952017-01-04 13:23:09 +080024 "//third_party/java/javapoet:srcs",
John Cater6163d432017-10-30 11:56:51 -040025 "//third_party/java/jcommander:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010026 "//third_party/java/jdk/langtools:srcs",
Adam Michaelb4ebfd72017-09-21 15:00:07 -040027 "//third_party/java/proguard:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010028 "//third_party/javascript/bootstrap:srcs",
29 "//third_party/checker_framework_dataflow:srcs",
30 "//third_party/checker_framework_javacutil:srcs",
31 "//third_party/jformatstring:srcs",
32 "//third_party/protobuf:srcs",
Laszlo Csomor5ada1402019-10-28 14:27:50 +010033 "//third_party/py/abseil:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010034 "//third_party/py/concurrent:srcs",
35 "//third_party/py/gflags:srcs",
36 "//third_party/py/mock:srcs",
37 "//third_party/py/six:srcs",
Jon Brandvein473e4292019-08-01 10:26:24 -040038 "//third_party/rules_python:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010039 "//third_party/zlib:srcs",
40 "//third_party/nanopb:srcs",
Yun Peng125a0ec2017-08-28 15:02:08 +020041 "//third_party/def_parser:srcs",
Marcel Hlopkofdb43642017-10-11 17:40:48 +020042 "//third_party/pprof:srcs",
John Caterb5661a82018-11-09 14:13:16 -050043 "@googleapis//:srcs",
44 "@remoteapis//:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010045 ],
46)
47
48# Filegroup to ship the sources to the Bazel embededded tools
49# This filegroup should contains all GPL with classpath exception
50# and LGPL code that we use in Bazel.
51filegroup(
52 name = "gpl-srcs",
53 srcs = [
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010054 "//third_party/jformatstring:srcs",
55 ],
56)
57
Tobias Werth0e3db342019-04-09 10:33:06 +020058# This target only contains the jars that are used for building / running Bazel.
59# The target below is for the Android tools that are not shipped with Bazel.
60java_import(
61 name = "android_common_25_0_0_lite",
62 jars = [
Tobias Werthed625e32019-04-18 11:13:04 +020063 "android_common/com.android.tools.layoutlib_layoutlib_26.1.2-stripped.jar",
64 "android_common/com.android.tools_sdk-common_25.0.0-stripped.jar",
Tobias Werth0e3db342019-04-09 10:33:06 +020065 "android_common/com.android.tools_repository_25.0.0.jar",
66 ],
67 deps = [
68 "//third_party/jaxb",
69 ],
70)
71
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010072java_import(
73 name = "android_common_25_0_0",
74 jars = [
75 "android_common/com.android_annotations_25.0.0.jar",
76 "android_common/com.android.tools.build_builder_2.0.0.jar",
77 "android_common/com.android.tools.build_builder-model_2.0.0.jar",
78 "android_common/com.android.tools.build_builder-test-api_2.0.0.jar",
Jingwen Chen59327302018-12-19 18:16:48 -050079 "android_common/com.android.tools.build_manifest-merger_25.0.0-patched.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010080 "android_common/com.android.tools.external.lombok_lombok-ast_0.2.3.jar",
Jingwen Chenab013292018-05-28 22:41:36 -040081 # layoutlib has been upgraded to 26.1.2 *just* for font resource support.
82 # We are unable to upgrade the other libraries yet due to internal
83 # constraints with Blaze. See
84 # https://github.com/bazelbuild/bazel/issues/4381
85 # TODO(bazel-team): Upgrade entire android_common suite to 26+ after
86 # resolving internal constraint.
87 "android_common/com.android.tools.layoutlib_layoutlib_26.1.2.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010088 "android_common/com.android.tools.lint_lint-api_25.0.0.jar",
89 "android_common/com.android.tools.lint_lint-checks_25.0.0.jar",
90 "android_common/com.android.tools_common_25.0.0.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010091 "android_common/com.android.tools_dvlib_25.0.0.jar",
92 "android_common/com.android.tools_repository_25.0.0.jar",
93 "android_common/com.android.tools_sdk-common_25.0.0.jar",
94 "android_common/com.android.tools_sdklib_25.0.0.jar",
95 ],
96 runtime_deps = [
97 ":asm",
98 ":asm-analysis",
99 ":asm-tree",
100 ],
iirinaae744f32019-02-15 11:35:42 +0100101 deps = [
102 "//third_party/jaxb",
103 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100104)
105
106java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100107 name = "apache_commons_collections",
108 jars = ["apache_commons_collections/commons-collections-3.2.2.jar"],
109)
110
111java_import(
112 name = "apache_commons_lang",
113 jars = ["apache_commons_lang/commons-lang-2.6.jar"],
114)
115
116java_import(
117 name = "apache_commons_compress",
118 jars = ["apache_commons_compress/apache-commons-compress-1.9.jar"],
119)
120
121java_import(
122 name = "apache_commons_logging",
123 jars = ["apache_commons_logging/commons-logging-1.1.1.jar"],
124)
125
126java_import(
127 name = "apache_commons_pool2",
Philipp Wollermannbbb66cb2020-04-07 16:58:48 +0200128 jars = ["apache_commons_pool2/commons-pool2-2.8.0.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100129)
130
131java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100132 name = "apache_velocity",
133 jars = ["apache_velocity/velocity-1.7.jar"],
134 deps = [
135 ":apache_commons_collections",
136 ":apache_commons_lang",
137 ],
138)
139
140java_import(
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400141 name = "api_client",
142 jars = [
143 "api_client/google-api-client-1.22.0.jar",
144 "api_client/google-api-client-jackson2-1.22.0.jar",
Jakob Buchgrabere5bb2db2017-12-15 14:26:10 +0100145 "api_client/google-http-client-1.22.0-SNAPSHOT.jar",
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400146 "api_client/google-http-client-jackson2-1.22.0.jar",
147 ],
148 runtime_deps = [
149 ":jackson2",
150 ],
151)
152
153java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100154 name = "asm",
Donald Duo Zhaof2489192020-04-29 03:30:45 -0700155 jars = ["asm/asm-8.0.jar"],
156 srcjar = "asm/asm-8.0-sources.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100157)
158
159java_import(
160 name = "asm-analysis",
Donald Duo Zhaof2489192020-04-29 03:30:45 -0700161 jars = ["asm/asm-analysis-8.0.jar"],
162 srcjar = "asm/asm-analysis-8.0-sources.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100163 runtime_deps = [":asm-tree"],
164)
165
166java_import(
167 name = "asm-commons",
Donald Duo Zhaof2489192020-04-29 03:30:45 -0700168 jars = ["asm/asm-commons-8.0.jar"],
169 srcjar = "asm/asm-commons-8.0-sources.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100170 runtime_deps = [":asm-tree"],
171)
172
173java_import(
174 name = "asm-tree",
Donald Duo Zhaof2489192020-04-29 03:30:45 -0700175 jars = ["asm/asm-tree-8.0.jar"],
176 srcjar = "asm/asm-tree-8.0-sources.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100177 runtime_deps = [":asm"],
178)
179
180java_import(
181 name = "asm-util",
Donald Duo Zhaof2489192020-04-29 03:30:45 -0700182 jars = ["asm/asm-util-8.0.jar"],
183 srcjar = "asm/asm-util-8.0-sources.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100184 runtime_deps = [":asm-tree"],
185)
186
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400187java_import(
188 name = "auth",
189 jars = [
Jakob Buchgraber49d99f32019-08-27 09:59:38 +0200190 "auth/google-auth-library-oauth2-http-0.17.1.jar",
191 "auth/google-auth-library-credentials-0.17.1.jar",
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400192 ],
193 runtime_deps = [
194 ":api_client",
195 ":guava",
Jakob Buchgrabere8f4e5e2018-11-30 12:50:22 +0100196 "//third_party/aws-sdk-auth-lite",
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400197 ],
198)
199
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100200java_plugin(
201 name = "auto_annotation_plugin",
202 processor_class = "com.google.auto.value.processor.AutoAnnotationProcessor",
203 deps = [
204 ":apache_commons_collections",
205 ":apache_velocity",
206 ":asm",
207 ":auto_common",
Shahan Yang96ea65b2017-12-15 17:25:23 -0500208 ":auto_service_lib",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100209 ":auto_value_value",
210 ":guava",
211 ":jsr305",
212 ":tomcat_annotations_api",
213 ],
214)
215
216java_import(
217 name = "auto_common",
Jakob Buchgraber3d7d6932018-12-03 13:26:08 +0100218 jars = ["auto/auto-common-0.10.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100219)
220
Shahan Yang96ea65b2017-12-15 17:25:23 -0500221java_library(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100222 name = "auto_service",
Shahan Yang96ea65b2017-12-15 17:25:23 -0500223 exported_plugins = [
224 ":auto_service_plugin",
225 ],
226 exports = [
227 ":auto_service_lib",
228 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100229)
230
231java_plugin(
232 name = "auto_service_plugin",
233 processor_class = "com.google.auto.service.processor.AutoServiceProcessor",
234 deps = [
235 ":auto_common",
Shahan Yang96ea65b2017-12-15 17:25:23 -0500236 ":auto_service_lib",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100237 ":guava",
238 ],
239)
240
Shahan Yang96ea65b2017-12-15 17:25:23 -0500241java_import(
242 name = "auto_service_lib",
Jakob Buchgraber3d7d6932018-12-03 13:26:08 +0100243 jars = ["auto/auto-service-1.0-rc4.jar"],
Shahan Yang96ea65b2017-12-15 17:25:23 -0500244)
245
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100246java_plugin(
247 name = "auto_value_plugin",
248 processor_class = "com.google.auto.value.processor.AutoValueProcessor",
249 deps = [
250 ":apache_commons_collections",
251 ":apache_velocity",
252 ":asm",
253 ":auto_common",
Shahan Yang96ea65b2017-12-15 17:25:23 -0500254 ":auto_service_lib",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100255 ":auto_value_value",
256 ":guava",
257 ":tomcat_annotations_api",
258 ],
259)
260
261java_library(
262 name = "auto_value",
263 exported_plugins = [
264 ":auto_annotation_plugin",
265 ":auto_value_plugin",
266 ],
267 exports = [
268 ":auto_value_value",
269 ":tomcat_annotations_api",
270 ],
271)
272
273java_import(
274 name = "auto_value_value",
Jingwen Chen59327302018-12-19 18:16:48 -0500275 jars = [
276 "auto/auto-value-1.6.3rc1.jar",
277 "auto/auto-value-annotations-1.6.3rc1.jar",
278 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100279)
280
281# For bootstrapping JavaBuilder
282filegroup(
283 name = "auto_value-jars",
Jingwen Chen59327302018-12-19 18:16:48 -0500284 srcs = [
285 "auto/auto-value-1.6.3rc1.jar",
286 "auto/auto-value-annotations-1.6.3rc1.jar",
287 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100288)
289
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100290java_import(
Tim van der Lippebb9dae12019-03-12 16:18:06 +0000291 name = "byte_buddy",
292 jars = [
293 "bytebuddy/byte-buddy-1.9.7.jar",
294 "bytebuddy/byte-buddy-agent-1.9.7.jar",
295 ],
296)
297
298java_import(
Justin Horvitz255d35c2019-04-30 15:50:34 -0400299 name = "checker_framework_annotations",
Liam Miller-Cushon3a57a522019-11-11 06:41:59 -0800300 jars = ["checker_framework_annotations/checker-qual-3.0.0.jar"],
301 srcjar = "checker_framework_annotations/checker-qual-3.0.0-sources.jar",
Justin Horvitz255d35c2019-04-30 15:50:34 -0400302)
303
304java_import(
Christopher Parsonsf169dad2017-11-30 13:56:32 -0500305 name = "compile_testing",
Chris Povirkf2a3ba22019-06-04 11:30:33 -0400306 jars = ["compile_testing/compile-testing-0.18.jar"],
Christopher Parsonsf169dad2017-11-30 13:56:32 -0500307)
308
Yun Pengc393ef22020-05-04 17:53:59 +0200309distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100310 name = "gson",
311 jars = ["gson/gson-2.2.4.jar"],
Yun Pengc393ef22020-05-04 17:53:59 +0200312 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100313)
314
315java_import(
Liam Miller-Cushon296cb422017-08-21 16:22:06 -0700316 name = "hungarian_algorithm",
317 jars = ["hungarian_algorithm/software-and-algorithms-1.0.jar"],
318 srcjar = "hungarian_algorithm/software-and-algorithms-1.0-src.jar",
319)
320
321java_import(
Liam Miller-Cushond91974e2018-04-23 09:34:06 +0200322 name = "error_prone_annotations",
323 jars = [
324 "error_prone/error_prone_annotations-2.2.0.jar",
Irina Iancufe67c702019-10-15 09:14:36 +0200325 "error_prone/error_prone_type_annotations-2.3.2-SNAPSHOT.jar",
Liam Miller-Cushond91974e2018-04-23 09:34:06 +0200326 ],
327)
328
329java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100330 name = "error_prone",
331 jars = [
Irina Iancufe67c702019-10-15 09:14:36 +0200332 "error_prone/error_prone_annotation-2.3.2-SNAPSHOT.jar",
333 "error_prone/error_prone_check_api-2.3.2-SNAPSHOT.jar",
334 "error_prone/error_prone_core-2.3.2-SNAPSHOT.jar",
Liam Miller-Cushond91974e2018-04-23 09:34:06 +0200335 ],
336 exports = [
337 ":error_prone_annotations",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100338 ],
Liam Miller-Cushon296cb422017-08-21 16:22:06 -0700339 deps = [
Liam Miller-Cushon0785cbb2017-02-16 07:56:48 -0800340 ":auto_common",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100341 ":guava",
Liam Miller-Cushon296cb422017-08-21 16:22:06 -0700342 ":hungarian_algorithm",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100343 ":jcip_annotations",
344 ":jsr305",
345 ":pcollections",
346 "//third_party/checker_framework_dataflow",
347 "//third_party/jformatstring",
348 ],
349)
350
351java_import(
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400352 name = "jackson2",
353 jars = [
354 "jackson2/jackson-core-2.8.6.jar",
355 ],
356)
357
358java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100359 name = "jcip_annotations",
360 jars = [
361 "jcip_annotations/jcip-annotations-1.0-1.jar",
362 ],
363)
364
365java_import(
366 name = "pcollections",
367 jars = [
368 "pcollections/pcollections-2.1.2.jar",
369 ],
370)
371
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100372# For bootstrapping JavaBuilder
373filegroup(
Liam Miller-Cushon8470be12017-04-26 17:40:54 -0700374 name = "bootstrap_guava_and_error_prone-jars",
Liam Miller-Cushonbc133cb2017-04-10 12:08:34 -0700375 srcs = [
Liam Miller-Cushon4ba60d02018-01-08 15:58:12 -0800376 "error_prone/error_prone_annotations-2.2.0.jar",
Philipp Wollermanndbc4f1f2018-07-25 11:00:42 +0200377 "guava/guava-25.1-jre.jar",
Liam Miller-Cushonbc133cb2017-04-10 12:08:34 -0700378 "jcip_annotations/jcip-annotations-1.0-1.jar",
379 "jsr305/jsr-305.jar",
Liam Miller-Cushonbc133cb2017-04-10 12:08:34 -0700380 ],
381)
382
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100383java_import(
384 name = "guava",
Philipp Wollermanndbc4f1f2018-07-25 11:00:42 +0200385 jars = ["guava/guava-25.1-jre.jar"],
Liam Miller-Cushond91974e2018-04-23 09:34:06 +0200386 exports = [
387 ":error_prone_annotations",
388 ":jcip_annotations",
389 ":jsr305",
Liam Miller-Cushon05a704f2017-09-01 06:56:07 -0700390 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100391)
392
Jakob Buchgraber74cea832017-05-29 09:56:22 +0200393java_import(
Janak Ramakrishnan845fff22018-09-11 00:41:37 -0400394 name = "flogger",
Janak Ramakrishnanafe6c702018-10-01 13:46:20 -0400395 jars = [
Janak Ramakrishnan1b0ea312020-03-31 19:26:57 -0400396 "flogger/flogger-0.5.1.jar",
397 "flogger/flogger-system-backend-0.5.1.jar",
398 "flogger/google-extensions-0.5.1.jar",
Janak Ramakrishnanafe6c702018-10-01 13:46:20 -0400399 ],
Janak Ramakrishnan845fff22018-09-11 00:41:37 -0400400)
401
Janak Ramakrishnanc5bb9b02018-10-02 18:42:05 -0400402filegroup(
403 name = "flogger-jars",
404 srcs = [
Janak Ramakrishnan1b0ea312020-03-31 19:26:57 -0400405 "flogger/flogger-0.5.1.jar",
406 "flogger/flogger-system-backend-0.5.1.jar",
407 "flogger/google-extensions-0.5.1.jar",
Liam Miller-Cushon28aabae2018-10-15 18:54:58 -0700408 ],
Janak Ramakrishnanc5bb9b02018-10-02 18:42:05 -0400409)
410
Janak Ramakrishnan845fff22018-09-11 00:41:37 -0400411java_import(
Jakob Buchgraber74cea832017-05-29 09:56:22 +0200412 name = "instrumentation",
413 jars = [
Jakob Buchgraber8c863362017-09-01 12:09:28 +0200414 "instrumentation/instrumentation-api-0.4.3.jar",
415 ],
416)
417
418java_import(
419 name = "opencensus-api",
420 jars = [
Jakob Buchgraber0dbbb4c2019-04-10 15:20:14 +0200421 "opencensus/opencensus-api-0.19.2.jar",
422 "opencensus/opencensus-contrib-grpc-metrics-0.19.2.jar",
Jakob Buchgraber74cea832017-05-29 09:56:22 +0200423 ],
424)
425
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100426# For bootstrapping JavaBuilder
427filegroup(
428 name = "guava-jars",
Philipp Wollermanndbc4f1f2018-07-25 11:00:42 +0200429 srcs = ["guava/guava-25.1-jre.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100430)
431
Liam Miller-Cushon47b2bf72018-03-28 23:18:05 -0700432# javax.annotation.Generated is not included in the default root modules in 9,
433# see: http://openjdk.java.net/jeps/320.
434java_import(
435 name = "javax_annotations",
436 jars = ["javax_annotations/javax.annotation-api-1.3.2.jar"],
437 neverlink = 1, # @Generated is source-retention
438 srcjar = "javax_annotations/javax.annotation-api-1.3.2-sources.jar",
439)
440
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100441java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100442 name = "jimfs",
Liam Miller-Cushon4d0582f2017-03-07 18:08:25 -0800443 jars = ["jimfs/jimfs-1.1.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100444)
445
446java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100447 name = "jsr305",
448 jars = ["jsr305/jsr-305.jar"],
449)
450
451# For bootstrapping JavaBuilder
452filegroup(
453 name = "jsr305-jars",
454 srcs = ["jsr305/jsr-305.jar"],
455)
456
457java_import(
458 name = "jsr330_inject",
459 jars = ["jsr330_inject/javax.inject.jar"],
460)
461
Lukacs T. Berki13740852019-06-05 08:49:42 +0200462UNNECESSARY_DYNAMIC_LIBRARIES = select({
463 "//src/conditions:windows": "*.so *.jnilib",
464 "//src/conditions:darwin": "*.so *.dll",
465 "//src/conditions:darwin_x86_64": "*.so *.dll",
466 "//src/conditions:linux_x86_64": "*.jnilib *.dll",
467 # The .so file is an x86 one, so we can just remove it if the CPU is not x86
468 "//src/conditions:arm": "*.so *.jnilib *.dll",
469 "//src/conditions:linux_aarch64": "*.so *.jnilib *.dll",
Christy Norman27612bb2019-10-07 11:46:00 -0400470 "//src/conditions:linux_ppc": "*.so *.jnilib *.dll",
Jonathan Springerab62a6e2020-01-24 07:28:53 +0000471 "//src/conditions:linux_s390x": "*.so *.jnilib *.dll",
aldersondrive554e0f72020-02-08 04:06:26 -0500472 "//src/conditions:freebsd": "*.so *.jnilib *.dll",
aldersondrivee274da32020-01-23 09:31:57 -0500473 "//src/conditions:openbsd": "*.so *.jnilib *.dll",
Jonathan Springerab62a6e2020-01-24 07:28:53 +0000474 # Default is to play it safe -- better have a big binary than a slow binary
475 # The empty string means nothing is to be removed from the library;
476 # the rule command tests for the empty string explictly to avoid
477 # zip erroring when it finds nothing to remove.
478 "//conditions:default": "",
Lukacs T. Berki13740852019-06-05 08:49:42 +0200479})
480
481# Remove native libraries that are for a platform different from the one we are
482# building Bazel for.
483genrule(
484 name = "filter_netty_dynamic_libs",
485 srcs = ["netty_tcnative/netty-tcnative-boringssl-static-2.0.24.Final.jar"],
486 outs = ["netty_tcnative/netty-tcnative-filtered.jar"],
Jonathan Springerab62a6e2020-01-24 07:28:53 +0000487 cmd = "cp $< $@ && " +
John Cater9763d742020-03-12 14:38:53 -0400488 # End successfully if there is nothing to be deleted from the archive
489 "if [ -n '" + UNNECESSARY_DYNAMIC_LIBRARIES + "' ]; then " +
490 "zip -qd $@ " + UNNECESSARY_DYNAMIC_LIBRARIES + "; fi",
Lukacs T. Berki13740852019-06-05 08:49:42 +0200491)
492
Yun Pengc393ef22020-05-04 17:53:59 +0200493distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100494 name = "netty",
Jakob Buchgraber0dbbb4c2019-04-10 15:20:14 +0200495 jars = ["netty/netty-all-4.1.34.Final.jar"],
Yun Pengc393ef22020-05-04 17:53:59 +0200496 # TODO: The debian netty-all.jar is empty, fix it then enable the following
497 # enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100498)
499
500java_import(
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400501 name = "netty_tcnative",
Lukacs T. Berki13740852019-06-05 08:49:42 +0200502 jars = ["netty_tcnative/netty-tcnative-filtered.jar"],
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400503)
504
Yun Pengc393ef22020-05-04 17:53:59 +0200505distrib_java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100506 name = "tomcat_annotations_api",
507 jars = ["tomcat_annotations_api/tomcat-annotations-api-8.0.5.jar"],
Yun Pengc393ef22020-05-04 17:53:59 +0200508 enable_distributions = ["debian"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100509)
510
Liam Miller-Cushon74776b42017-10-02 09:58:58 -0700511# For bootstrapping JavaBuilder
512filegroup(
513 name = "tomcat_annotations_api-jars",
514 srcs = ["tomcat_annotations_api/tomcat-annotations-api-8.0.5.jar"],
515)
516
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100517# Testing
518
519java_import(
Jeff Lavallee55829652018-07-19 09:55:30 -0700520 name = "diffutils",
521 jars = ["diffutils/diffutils-1.3.0.jar"],
522)
523
524java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100525 name = "guava-testlib",
Philipp Wollermanndbc4f1f2018-07-25 11:00:42 +0200526 jars = ["guava/guava-testlib-25.1-jre.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100527)
528
529java_import(
530 name = "junit4",
531 jars = [
532 "hamcrest/hamcrest-core-1.3.jar",
Ulf Adams3e3e29e2020-02-19 12:10:29 +0100533 "junit/junit-4.13.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100534 ],
535)
536
537java_import(
538 name = "mockito",
Tim van der Lippe044a5f92019-03-19 14:49:15 +0000539 jars = ["mockito/mockito-core-2.25.1.jar"],
Philipp Wollermann6c99cf12018-07-17 12:54:11 +0200540 deps = [
Tim van der Lippe044a5f92019-03-19 14:49:15 +0000541 ":byte_buddy",
Philipp Wollermann6c99cf12018-07-17 12:54:11 +0200542 ":objenesis",
543 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100544)
545
546java_import(
Shahan Yang3016d972018-01-19 17:11:00 -0500547 name = "objenesis",
Philipp Wollermann6c99cf12018-07-17 12:54:11 +0200548 jars = ["objenesis/objenesis-1_3.jar"],
Shahan Yang3016d972018-01-19 17:11:00 -0500549)
550
Liam Miller-Cushonc1d87762018-09-09 17:00:18 -0700551filegroup(
552 name = "turbine_direct",
Liam Miller-Cushonb055f912019-01-10 11:44:58 -0800553 srcs = ["turbine/turbine_direct.jar"],
Liam Miller-Cushonc1d87762018-09-09 17:00:18 -0700554)
Liam Miller-Cushon28aabae2018-10-15 18:54:58 -0700555
Shahan Yang3016d972018-01-19 17:11:00 -0500556java_import(
Liam Miller-Cushon4a099f92017-01-03 23:02:56 -0800557 name = "turbine",
Liam Miller-Cushon28aabae2018-10-15 18:54:58 -0700558 jars = ["turbine/turbine_direct.jar"],
Liam Miller-Cushon4a099f92017-01-03 23:02:56 -0800559)
560
561java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100562 name = "truth",
John Cater9763d742020-03-12 14:38:53 -0400563 jars = ["truth/truth-1.0.1.jar"],
564 exports = [
565 ":truth8",
566 ],
Chris Povirk568048b2019-04-25 07:44:39 -0400567 deps = [
Jeff Lavallee55829652018-07-19 09:55:30 -0700568 ":diffutils",
569 ],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100570)
571
572java_import(
Rupert Shuttleworthbe62ee72017-11-08 11:19:01 -0500573 name = "truth8",
John Cater9763d742020-03-12 14:38:53 -0400574 jars = ["truth8/truth-java8-extension-1.0.1.jar"],
Rupert Shuttleworthbe62ee72017-11-08 11:19:01 -0500575)
576
577java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100578 name = "xz",
579 jars = ["xz/xz-1.5.jar"],
580)
581
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100582# To be used by the skylark example.
583filegroup(
584 name = "junit4-jars",
585 srcs = [
586 "hamcrest/hamcrest-core-1.3.jar",
Ulf Adams3e3e29e2020-02-19 12:10:29 +0100587 "junit/junit-4.13.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100588 ],
589)
590
scentinicade3ac2018-07-19 18:24:16 +0200591load(":compiler_config_setting.bzl", "create_compiler_config_setting")
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100592
Liam Miller-Cushon3a711882018-08-07 19:17:25 -0700593create_compiler_config_setting(
594 name = "windows_mingw",
595 value = "windows_mingw",
596)
597
598create_compiler_config_setting(
599 name = "windows_msys64",
600 value = "windows_msys64",
601)
602
603create_compiler_config_setting(
604 name = "windows_msys64_mingw64",
605 value = "windows_msys64_mingw64",
606)
607
608create_compiler_config_setting(
609 name = "windows_clang",
610 value = "windows_clang",
611)
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100612
613config_setting(
614 name = "darwin",
615 values = {"host_cpu": "darwin"},
616)
617
618config_setting(
619 name = "k8",
620 values = {"host_cpu": "k8"},
621)
622
623config_setting(
624 name = "piii",
625 values = {"host_cpu": "piii"},
626)
627
628config_setting(
629 name = "arm",
630 values = {"host_cpu": "arm"},
631)
632
633config_setting(
Marcel Hlopkod490b452018-07-03 15:43:18 +0200634 name = "aarch64",
635 values = {"host_cpu": "aarch64"},
636)
637
638config_setting(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100639 name = "freebsd",
640 values = {"host_cpu": "freebsd"},
641)
642
643config_setting(
aldersondrivee274da32020-01-23 09:31:57 -0500644 name = "openbsd",
645 values = {"host_cpu": "openbsd"},
646)
647
648config_setting(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100649 name = "s390x",
650 values = {"host_cpu": "s390x"},
651)
652
653config_setting(
654 name = "ppc",
655 values = {"host_cpu": "ppc"},
656)
László Csomor0ff54da2017-09-19 16:37:17 +0200657
658test_suite(
659 name = "all_windows_tests",
660 tests = [
661 "//third_party/def_parser:windows_tests",
662 ],
663 visibility = ["//src:__pkg__"],
664)