blob: fb097889d125e46d5991c941d810e1a2d348f9f7 [file] [log] [blame]
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +01001package(default_visibility = ["//visibility:public"])
2
3filegroup(
4 name = "srcs",
5 srcs = glob(["**"]) + [
6 "//third_party/css/bootstrap:srcs",
7 "//third_party/css/font_awesome:srcs",
8 "//third_party/ijar:srcs",
9 "//third_party/iossim:srcs",
10 "//third_party/grpc:srcs",
11 "//third_party/java/android_databinding:srcs",
12 "//third_party/java/aosp_gradle_core:srcs",
13 "//third_party/java/apkbuilder:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010014 "//third_party/java/dd_plist:srcs",
15 "//third_party/java/j2objc:srcs",
16 "//third_party/java/jacoco:srcs",
17 "//third_party/java/jarjar:srcs",
Yue Gan25969952017-01-04 13:23:09 +080018 "//third_party/java/javapoet:srcs",
Lukacs T. Berki1357a0d2017-04-18 16:07:41 +020019 "//third_party/java/jopt-simple:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010020 "//third_party/java/jdk/langtools:srcs",
21 "//third_party/java/jdk/javabuilder:srcs",
22 "//third_party/javascript/bootstrap:srcs",
23 "//third_party/checker_framework_dataflow:srcs",
24 "//third_party/checker_framework_javacutil:srcs",
25 "//third_party/jformatstring:srcs",
26 "//third_party/protobuf:srcs",
27 "//third_party/py/concurrent:srcs",
28 "//third_party/py/gflags:srcs",
29 "//third_party/py/mock:srcs",
30 "//third_party/py/six:srcs",
31 "//third_party/zlib:srcs",
32 "//third_party/nanopb:srcs",
Jakob Buchgraber84a8e952017-05-30 15:49:37 +020033 "//third_party/googleapis:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010034 ],
35)
36
37# Filegroup to ship the sources to the Bazel embededded tools
38# This filegroup should contains all GPL with classpath exception
39# and LGPL code that we use in Bazel.
40filegroup(
41 name = "gpl-srcs",
42 srcs = [
43 "//third_party/checker_framework_dataflow:srcs",
44 "//third_party/checker_framework_javacutil:srcs",
45 "//third_party/jformatstring:srcs",
46 ],
47)
48
49filegroup(
50 name = "d3-js",
51 srcs = glob(["javascript/d3/**/*.js"]),
52)
53
54filegroup(
55 name = "jquery",
56 srcs = glob(["javascript/jquery/**/*.jslib"]),
57)
58
59java_import(
60 name = "aether",
61 jars = [
62 "aether/aether-api-1.0.0.v20140518.jar",
63 "aether/aether-spi-1.0.0.v20140518.jar",
64 "aether/aether-transport-http-1.0.0.v20140518.jar",
65 "aether/aether-connector-basic-1.0.0.v20140518.jar",
66 "aether/aether-transport-classpath-1.0.0.v20140518.jar",
67 "aether/aether-transport-wagon-1.0.0.v20140518.jar",
68 "aether/aether-impl-1.0.0.v20140518.jar",
69 "aether/aether-transport-file-1.0.0.v20140518.jar",
70 "aether/aether-util-1.0.0.v20140518.jar",
71 ],
72)
73
74java_import(
75 name = "android_common_25_0_0",
76 jars = [
77 "android_common/com.android_annotations_25.0.0.jar",
78 "android_common/com.android.tools.build_builder_2.0.0.jar",
79 "android_common/com.android.tools.build_builder-model_2.0.0.jar",
80 "android_common/com.android.tools.build_builder-test-api_2.0.0.jar",
81 "android_common/com.android.tools.build_manifest-merger_25.0.0.jar",
82 "android_common/com.android.tools.external.lombok_lombok-ast_0.2.3.jar",
83 "android_common/com.android.tools.layoutlib_layoutlib_25.0.0.jar",
84 "android_common/com.android.tools.lint_lint-api_25.0.0.jar",
85 "android_common/com.android.tools.lint_lint-checks_25.0.0.jar",
86 "android_common/com.android.tools_common_25.0.0.jar",
87 "android_common/com.android.tools_ddmlib_25.0.0.jar",
88 "android_common/com.android.tools_dvlib_25.0.0.jar",
89 "android_common/com.android.tools_repository_25.0.0.jar",
90 "android_common/com.android.tools_sdk-common_25.0.0.jar",
91 "android_common/com.android.tools_sdklib_25.0.0.jar",
92 ],
93 runtime_deps = [
94 ":asm",
95 ":asm-analysis",
96 ":asm-tree",
97 ],
98)
99
100java_import(
101 name = "apache_commons_codec",
102 jars = ["apache_commons_codec/commons-codec-1.9.jar"],
103)
104
105java_import(
106 name = "apache_commons_collections",
107 jars = ["apache_commons_collections/commons-collections-3.2.2.jar"],
108)
109
110java_import(
111 name = "apache_commons_lang",
112 jars = ["apache_commons_lang/commons-lang-2.6.jar"],
113)
114
115java_import(
116 name = "apache_commons_compress",
117 jars = ["apache_commons_compress/apache-commons-compress-1.9.jar"],
118)
119
120java_import(
121 name = "apache_commons_logging",
122 jars = ["apache_commons_logging/commons-logging-1.1.1.jar"],
123)
124
125java_import(
126 name = "apache_commons_pool2",
127 jars = ["apache_commons_pool2/commons-pool2-2.3.jar"],
128)
129
130java_import(
131 name = "apache_httpclient",
Philipp Wollermann82611cb2017-06-07 17:02:42 +0200132 jars = ["apache_httpclient/httpclient-4.5.3.jar"],
Ivan Vučica6c1106b2017-06-09 17:45:39 +0100133 deps = [":apache_commons_logging"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100134)
135
136java_import(
137 name = "apache_httpcore",
Philipp Wollermann82611cb2017-06-07 17:02:42 +0200138 jars = ["apache_httpcore/httpcore-4.4.6.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100139)
140
141java_import(
142 name = "apache_velocity",
143 jars = ["apache_velocity/velocity-1.7.jar"],
144 deps = [
145 ":apache_commons_collections",
146 ":apache_commons_lang",
147 ],
148)
149
150java_import(
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400151 name = "api_client",
152 jars = [
153 "api_client/google-api-client-1.22.0.jar",
154 "api_client/google-api-client-jackson2-1.22.0.jar",
155 "api_client/google-http-client-1.22.0.jar",
156 "api_client/google-http-client-jackson2-1.22.0.jar",
157 ],
158 runtime_deps = [
159 ":jackson2",
160 ],
161)
162
163java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100164 name = "asm",
Adam Michael93296422017-01-09 18:39:57 -0500165 jars = ["asm/asm-5.1.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100166)
167
168java_import(
169 name = "asm-analysis",
Adam Michael93296422017-01-09 18:39:57 -0500170 jars = ["asm/asm-analysis-5.1.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100171 runtime_deps = [":asm-tree"],
172)
173
174java_import(
175 name = "asm-commons",
Adam Michael93296422017-01-09 18:39:57 -0500176 jars = ["asm/asm-commons-5.1.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100177 runtime_deps = [":asm-tree"],
178)
179
180java_import(
181 name = "asm-tree",
Adam Michael93296422017-01-09 18:39:57 -0500182 jars = ["asm/asm-tree-5.1.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100183 runtime_deps = [":asm"],
184)
185
186java_import(
187 name = "asm-util",
Adam Michael93296422017-01-09 18:39:57 -0500188 jars = ["asm/asm-util-5.1.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100189 runtime_deps = [":asm-tree"],
190)
191
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400192java_import(
193 name = "auth",
194 jars = [
195 "auth/google-auth-library-oauth2-http-0.6.0.jar",
196 "auth/google-auth-library-credentials-0.6.0.jar",
197 ],
198 runtime_deps = [
199 ":api_client",
200 ":guava",
201 ],
202)
203
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100204java_plugin(
205 name = "auto_annotation_plugin",
206 processor_class = "com.google.auto.value.processor.AutoAnnotationProcessor",
207 deps = [
208 ":apache_commons_collections",
209 ":apache_velocity",
210 ":asm",
211 ":auto_common",
212 ":auto_service",
213 ":auto_value_value",
214 ":guava",
215 ":jsr305",
216 ":tomcat_annotations_api",
217 ],
218)
219
220java_import(
221 name = "auto_common",
222 jars = ["auto/auto-common-0.3.jar"],
223)
224
225java_import(
226 name = "auto_service",
227 jars = ["auto/auto-service-1.0-rc2.jar"],
228)
229
230java_plugin(
231 name = "auto_service_plugin",
232 processor_class = "com.google.auto.service.processor.AutoServiceProcessor",
233 deps = [
234 ":auto_common",
235 ":auto_service",
236 ":guava",
237 ],
238)
239
240java_plugin(
241 name = "auto_value_plugin",
242 processor_class = "com.google.auto.value.processor.AutoValueProcessor",
243 deps = [
244 ":apache_commons_collections",
245 ":apache_velocity",
246 ":asm",
247 ":auto_common",
248 ":auto_service",
249 ":auto_value_value",
250 ":guava",
251 ":tomcat_annotations_api",
252 ],
253)
254
255java_library(
256 name = "auto_value",
257 exported_plugins = [
258 ":auto_annotation_plugin",
259 ":auto_value_plugin",
260 ],
261 exports = [
262 ":auto_value_value",
263 ":tomcat_annotations_api",
264 ],
265)
266
267java_import(
268 name = "auto_value_value",
Damien Martin-Guillerezd3237122017-03-31 09:59:01 +0200269 jars = ["auto/auto-value-1.4.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100270)
271
272# For bootstrapping JavaBuilder
273filegroup(
274 name = "auto_value-jars",
Damien Martin-Guillerezd3237122017-03-31 09:59:01 +0200275 srcs = ["auto/auto-value-1.4.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100276)
277
278java_library(
279 name = "dagger",
280 exported_plugins = [":dagger_plugin"],
281 exports = [
282 ":dagger_api",
283 ":jsr330_inject",
284 ],
285)
286
287java_plugin(
288 name = "dagger_plugin",
289 processor_class = "dagger.internal.codegen.ComponentProcessor",
290 deps = [
291 ":dagger_api",
292 ":dagger_compiler",
293 ":dagger_producers",
294 ":guava",
295 ":jsr330_inject",
296 ],
297)
298
299java_import(
300 name = "dagger_api",
301 jars = ["dagger/dagger-2.5.jar"],
302)
303
304java_import(
305 name = "dagger_compiler",
306 jars = ["dagger/dagger-compiler-2.5.jar"],
307)
308
309java_import(
310 name = "dagger_producers",
311 jars = ["dagger/dagger-producers-2.5.jar"],
312)
313
314java_import(
315 name = "bytebuddy",
316 jars = ["bytebuddy/byte-buddy-dep-0.7-rc6.jar"],
317 deps = [
318 ":asm",
319 ":asm-commons",
320 ":asm-util",
321 ],
322)
323
324java_import(
325 name = "gson",
326 jars = ["gson/gson-2.2.4.jar"],
327)
328
329java_import(
330 name = "hazelcast",
331 jars = [
332 "hazelcast/hazelcast-3.6.4.jar",
333 "hazelcast/hazelcast-client-3.6.4.jar",
334 ],
335)
336
Liam Miller-Cushonbc133cb2017-04-10 12:08:34 -0700337java_import(
Liam Miller-Cushon296cb422017-08-21 16:22:06 -0700338 name = "hungarian_algorithm",
339 jars = ["hungarian_algorithm/software-and-algorithms-1.0.jar"],
340 srcjar = "hungarian_algorithm/software-and-algorithms-1.0-src.jar",
341)
342
343java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100344 name = "error_prone",
345 jars = [
Liam Miller-Cushon296cb422017-08-21 16:22:06 -0700346 "error_prone/error_prone_check_api-2.1.0.jar",
347 "error_prone/error_prone_core-2.1.0.jar",
348 "error_prone/error_prone_annotations-2.1.0.jar",
349 "error_prone/error_prone_annotation-2.1.0.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100350 ],
Liam Miller-Cushon296cb422017-08-21 16:22:06 -0700351 deps = [
Liam Miller-Cushon0785cbb2017-02-16 07:56:48 -0800352 ":auto_common",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100353 ":guava",
Liam Miller-Cushon296cb422017-08-21 16:22:06 -0700354 ":hungarian_algorithm",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100355 ":jcip_annotations",
356 ":jsr305",
357 ":pcollections",
358 "//third_party/checker_framework_dataflow",
359 "//third_party/jformatstring",
360 ],
361)
362
363java_import(
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400364 name = "jackson2",
365 jars = [
366 "jackson2/jackson-core-2.8.6.jar",
367 ],
368)
369
370java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100371 name = "jcip_annotations",
372 jars = [
373 "jcip_annotations/jcip-annotations-1.0-1.jar",
374 ],
375)
376
377java_import(
378 name = "pcollections",
379 jars = [
380 "pcollections/pcollections-2.1.2.jar",
381 ],
382)
383
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100384# For bootstrapping JavaBuilder
385filegroup(
Liam Miller-Cushon8470be12017-04-26 17:40:54 -0700386 name = "bootstrap_guava_and_error_prone-jars",
Liam Miller-Cushonbc133cb2017-04-10 12:08:34 -0700387 srcs = [
388 "auto/auto-common-0.3.jar",
Liam Miller-Cushon296cb422017-08-21 16:22:06 -0700389 "error_prone/error_prone_annotation-2.1.0.jar",
390 "error_prone/error_prone_annotations-2.1.0.jar",
391 "error_prone/error_prone_check_api-2.1.0.jar",
392 "error_prone/error_prone_core-2.1.0.jar",
Liam Miller-Cushonbc133cb2017-04-10 12:08:34 -0700393 "guava/guava-21.0.jar",
Liam Miller-Cushon296cb422017-08-21 16:22:06 -0700394 "hungarian_algorithm/software-and-algorithms-1.0.jar",
Liam Miller-Cushonbc133cb2017-04-10 12:08:34 -0700395 "jcip_annotations/jcip-annotations-1.0-1.jar",
396 "jsr305/jsr-305.jar",
397 "pcollections/pcollections-2.1.2.jar",
398 "//third_party/checker_framework_dataflow:bootstrap",
399 "//third_party/jformatstring:bootstrap",
400 ],
401)
402
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100403# As of Guava 20.0, Guava code uses Error Prone annotations. This isn't a
404# problem when compiling with java 8, but is a problem when compiling Bazel
405# with java 7 (the Error Prone jars need to be on the javac classpath). So,
406# until we drop support for compiling Bazel with java 7, we unfortunately need
407# to ensure that the Error Prone jars are always used together with the Guava
408# jars.
409java_import(
410 name = "guava",
Liam Miller-Cushon0785cbb2017-02-16 07:56:48 -0800411 jars = [
Liam Miller-Cushon0cdefa92017-03-16 13:52:36 -0700412 "error_prone/error_prone_annotations-2.0.19.jar",
Liam Miller-Cushon0785cbb2017-02-16 07:56:48 -0800413 "jcip_annotations/jcip-annotations-1.0-1.jar",
414 "jsr305/jsr-305.jar",
415 ] + select({
416 "//tools/jdk:jdk7": ["guava/guava-21.0-20161101.jar"],
417 "//conditions:default": ["guava/guava-21.0.jar"],
418 }),
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100419)
420
Jakob Buchgraber74cea832017-05-29 09:56:22 +0200421java_import(
422 name = "instrumentation",
423 jars = [
424 "instrumentation/instrumentation-api-0.3.0.jar",
425 ],
426)
427
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100428# For bootstrapping JavaBuilder
429filegroup(
430 name = "guava-jars",
Liam Miller-Cushon0785cbb2017-02-16 07:56:48 -0800431 srcs = ["guava/guava-21.0.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100432)
433
434java_import(
435 name = "jgit",
436 jars = ["jgit/org.eclipse.jgit-4.0.1.201506240215-r.jar"],
437)
438
439java_import(
440 name = "jimfs",
Liam Miller-Cushon4d0582f2017-03-07 18:08:25 -0800441 jars = ["jimfs/jimfs-1.1.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100442)
443
444java_import(
445 name = "joda_time",
446 jars = ["joda_time/joda-time-2.3.jar"],
447)
448
449java_import(
450 name = "jsch",
451 jars = ["jsch/jsch-0.1.51.jar"],
452)
453
454java_import(
455 name = "jsr305",
456 jars = ["jsr305/jsr-305.jar"],
457)
458
459# For bootstrapping JavaBuilder
460filegroup(
461 name = "jsr305-jars",
462 srcs = ["jsr305/jsr-305.jar"],
463)
464
465java_import(
466 name = "jsr330_inject",
467 jars = ["jsr330_inject/javax.inject.jar"],
468)
469
470java_import(
471 name = "maven",
472 jars = glob(["maven/*.jar"]),
473)
474
475java_import(
476 name = "maven_model",
477 jars = [
478 "maven_model/maven-aether-provider-3.2.3.jar",
479 "maven_model/maven-model-3.2.3.jar",
480 "maven_model/maven-model-builder-3.2.3.jar",
481 "maven_model/maven-repository-metadata-3.2.3.jar",
482 ],
483)
484
485java_import(
486 name = "netty",
Jakob Buchgraber74cea832017-05-29 09:56:22 +0200487 jars = ["netty/netty-all-4.1.8.Final.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100488)
489
490java_import(
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400491 name = "netty_tcnative",
492 jars = ["netty_tcnative/netty-tcnative-boringssl-static-1.1.33.Fork26.jar"],
493)
494
495java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100496 name = "plexus_component_annotations",
497 jars = ["plexus_component_annotations/plexus-component-annotations-1.6.jar"],
498)
499
500java_import(
501 name = "plexus_interpolation",
502 jars = ["plexus_interpolation/plexus-interpolation-1.22.jar"],
503)
504
505java_import(
506 name = "plexus_utils",
507 jars = ["plexus_utils/plexus-utils-3.0.21.jar"],
508)
509
510java_import(
511 name = "slf4j",
512 jars = [
513 "slf4j/slf4j-api-1.7.7.jar",
514 "slf4j/slf4j-jdk14-1.7.7.jar",
515 ],
516)
517
518java_import(
519 name = "tomcat_annotations_api",
520 jars = ["tomcat_annotations_api/tomcat-annotations-api-8.0.5.jar"],
521)
522
523# Testing
524
525java_import(
526 name = "guava-testlib",
Liam Miller-Cushon0785cbb2017-02-16 07:56:48 -0800527 jars = select({
528 "//tools/jdk:jdk7": ["guava/guava-testlib-21.0-20161101.jar"],
529 "//conditions:default": ["guava/guava-testlib-21.0.jar"],
530 }),
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100531)
532
533java_import(
534 name = "junit4",
535 jars = [
536 "hamcrest/hamcrest-core-1.3.jar",
537 "junit/junit-4.11.jar",
538 ],
539)
540
541java_import(
542 name = "mockito",
543 jars = ["mockito/mockito-all-1.10.19.jar"],
544)
545
546java_import(
Liam Miller-Cushon4a099f92017-01-03 23:02:56 -0800547 name = "turbine",
Liam Miller-Cushon7ae94692017-05-03 18:01:17 -0700548 jars = ["turbine/turbine-0.1-20170503.jar"],
Liam Miller-Cushon4a099f92017-01-03 23:02:56 -0800549)
550
551java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100552 name = "truth",
Michael Staib0dc1c5b2017-03-15 11:44:09 -0400553 jars = ["truth/truth-0.32.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100554)
555
556java_import(
557 name = "xz",
558 jars = ["xz/xz-1.5.jar"],
559)
560
561cc_library(
562 name = "gtest",
563 srcs = [
564 "gtest/gtest-all.cc",
565 "gtest/gtest_main.cc",
566 ],
567 hdrs = [
568 "gtest/gtest.h",
569 ],
570 data = [
571 "//tools:test_sharding_compliant",
572 ],
573 includes = ["."],
574 # gtest detects pthread, and the linker fails without it.
575 linkopts = ["-lpthread"],
576)
577
578# To be used by the skylark example.
579filegroup(
580 name = "junit4-jars",
581 srcs = [
582 "hamcrest/hamcrest-core-1.3.jar",
583 "junit/junit-4.11.jar",
584 ],
585)
586
587config_setting(
588 name = "windows_mingw",
589 values = {"compiler": "windows_mingw"},
590)
591
592config_setting(
593 name = "windows_msys64",
594 values = {"compiler": "windows_msys64"},
595)
596
597config_setting(
598 name = "windows_msys64_mingw64",
599 values = {"compiler": "windows_msys64_mingw64"},
600)
601
602config_setting(
603 name = "windows_clang",
604 values = {"compiler": "windows_clang"},
605)
606
607config_setting(
608 name = "darwin",
609 values = {"host_cpu": "darwin"},
610)
611
612config_setting(
613 name = "k8",
614 values = {"host_cpu": "k8"},
615)
616
617config_setting(
618 name = "piii",
619 values = {"host_cpu": "piii"},
620)
621
622config_setting(
623 name = "arm",
624 values = {"host_cpu": "arm"},
625)
626
627config_setting(
628 name = "freebsd",
629 values = {"host_cpu": "freebsd"},
630)
631
632config_setting(
633 name = "s390x",
634 values = {"host_cpu": "s390x"},
635)
636
637config_setting(
638 name = "ppc",
639 values = {"host_cpu": "ppc"},
640)