blob: e2338456ea73b81e43378f6e5cfadcff86c8e178 [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",
14 "//third_party/java/buck-ios-support:srcs",
15 "//third_party/java/dd_plist:srcs",
16 "//third_party/java/j2objc:srcs",
17 "//third_party/java/jacoco:srcs",
18 "//third_party/java/jarjar:srcs",
Yue Gan25969952017-01-04 13:23:09 +080019 "//third_party/java/javapoet:srcs",
Lukacs T. Berki1357a0d2017-04-18 16:07:41 +020020 "//third_party/java/jopt-simple:srcs",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +010021 "//third_party/java/jdk/langtools:srcs",
22 "//third_party/java/jdk/javabuilder:srcs",
23 "//third_party/javascript/bootstrap:srcs",
24 "//third_party/checker_framework_dataflow:srcs",
25 "//third_party/checker_framework_javacutil:srcs",
26 "//third_party/jformatstring:srcs",
27 "//third_party/protobuf:srcs",
28 "//third_party/py/concurrent:srcs",
29 "//third_party/py/gflags:srcs",
30 "//third_party/py/mock:srcs",
31 "//third_party/py/six:srcs",
32 "//third_party/zlib:srcs",
33 "//third_party/nanopb:srcs",
34 ],
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",
132 jars = ["apache_httpclient/httpclient-4.2.5.jar"],
133)
134
135java_import(
136 name = "apache_httpcore",
137 jars = ["apache_httpcore/httpcore-4.2.4.jar"],
138)
139
140java_import(
141 name = "apache_velocity",
142 jars = ["apache_velocity/velocity-1.7.jar"],
143 deps = [
144 ":apache_commons_collections",
145 ":apache_commons_lang",
146 ],
147)
148
149java_import(
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400150 name = "api_client",
151 jars = [
152 "api_client/google-api-client-1.22.0.jar",
153 "api_client/google-api-client-jackson2-1.22.0.jar",
154 "api_client/google-http-client-1.22.0.jar",
155 "api_client/google-http-client-jackson2-1.22.0.jar",
156 ],
157 runtime_deps = [
158 ":jackson2",
159 ],
160)
161
162java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100163 name = "asm",
Adam Michael93296422017-01-09 18:39:57 -0500164 jars = ["asm/asm-5.1.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100165)
166
167java_import(
168 name = "asm-analysis",
Adam Michael93296422017-01-09 18:39:57 -0500169 jars = ["asm/asm-analysis-5.1.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100170 runtime_deps = [":asm-tree"],
171)
172
173java_import(
174 name = "asm-commons",
Adam Michael93296422017-01-09 18:39:57 -0500175 jars = ["asm/asm-commons-5.1.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100176 runtime_deps = [":asm-tree"],
177)
178
179java_import(
180 name = "asm-tree",
Adam Michael93296422017-01-09 18:39:57 -0500181 jars = ["asm/asm-tree-5.1.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100182 runtime_deps = [":asm"],
183)
184
185java_import(
186 name = "asm-util",
Adam Michael93296422017-01-09 18:39:57 -0500187 jars = ["asm/asm-util-5.1.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100188 runtime_deps = [":asm-tree"],
189)
190
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400191java_import(
192 name = "auth",
193 jars = [
194 "auth/google-auth-library-oauth2-http-0.6.0.jar",
195 "auth/google-auth-library-credentials-0.6.0.jar",
196 ],
197 runtime_deps = [
198 ":api_client",
199 ":guava",
200 ],
201)
202
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100203java_plugin(
204 name = "auto_annotation_plugin",
205 processor_class = "com.google.auto.value.processor.AutoAnnotationProcessor",
206 deps = [
207 ":apache_commons_collections",
208 ":apache_velocity",
209 ":asm",
210 ":auto_common",
211 ":auto_service",
212 ":auto_value_value",
213 ":guava",
214 ":jsr305",
215 ":tomcat_annotations_api",
216 ],
217)
218
219java_import(
220 name = "auto_common",
221 jars = ["auto/auto-common-0.3.jar"],
222)
223
224java_import(
225 name = "auto_service",
226 jars = ["auto/auto-service-1.0-rc2.jar"],
227)
228
229java_plugin(
230 name = "auto_service_plugin",
231 processor_class = "com.google.auto.service.processor.AutoServiceProcessor",
232 deps = [
233 ":auto_common",
234 ":auto_service",
235 ":guava",
236 ],
237)
238
239java_plugin(
240 name = "auto_value_plugin",
241 processor_class = "com.google.auto.value.processor.AutoValueProcessor",
242 deps = [
243 ":apache_commons_collections",
244 ":apache_velocity",
245 ":asm",
246 ":auto_common",
247 ":auto_service",
248 ":auto_value_value",
249 ":guava",
250 ":tomcat_annotations_api",
251 ],
252)
253
254java_library(
255 name = "auto_value",
256 exported_plugins = [
257 ":auto_annotation_plugin",
258 ":auto_value_plugin",
259 ],
260 exports = [
261 ":auto_value_value",
262 ":tomcat_annotations_api",
263 ],
264)
265
266java_import(
267 name = "auto_value_value",
Damien Martin-Guillerezd3237122017-03-31 09:59:01 +0200268 jars = ["auto/auto-value-1.4.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100269)
270
271# For bootstrapping JavaBuilder
272filegroup(
273 name = "auto_value-jars",
Damien Martin-Guillerezd3237122017-03-31 09:59:01 +0200274 srcs = ["auto/auto-value-1.4.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100275)
276
277java_library(
278 name = "dagger",
279 exported_plugins = [":dagger_plugin"],
280 exports = [
281 ":dagger_api",
282 ":jsr330_inject",
283 ],
284)
285
286java_plugin(
287 name = "dagger_plugin",
288 processor_class = "dagger.internal.codegen.ComponentProcessor",
289 deps = [
290 ":dagger_api",
291 ":dagger_compiler",
292 ":dagger_producers",
293 ":guava",
294 ":jsr330_inject",
295 ],
296)
297
298java_import(
299 name = "dagger_api",
300 jars = ["dagger/dagger-2.5.jar"],
301)
302
303java_import(
304 name = "dagger_compiler",
305 jars = ["dagger/dagger-compiler-2.5.jar"],
306)
307
308java_import(
309 name = "dagger_producers",
310 jars = ["dagger/dagger-producers-2.5.jar"],
311)
312
313java_import(
314 name = "bytebuddy",
315 jars = ["bytebuddy/byte-buddy-dep-0.7-rc6.jar"],
316 deps = [
317 ":asm",
318 ":asm-commons",
319 ":asm-util",
320 ],
321)
322
323java_import(
324 name = "gson",
325 jars = ["gson/gson-2.2.4.jar"],
326)
327
328java_import(
329 name = "hazelcast",
330 jars = [
331 "hazelcast/hazelcast-3.6.4.jar",
332 "hazelcast/hazelcast-client-3.6.4.jar",
333 ],
334)
335
336java_import(
337 name = "error_prone",
338 jars = [
Liam Miller-Cushon0cdefa92017-03-16 13:52:36 -0700339 "error_prone/error_prone_check_api-2.0.19.jar",
340 "error_prone/error_prone_core-2.0.19.jar",
341 "error_prone/error_prone_annotations-2.0.19.jar",
342 "error_prone/error_prone_annotation-2.0.19.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100343 ],
344 exports = [
Liam Miller-Cushon0785cbb2017-02-16 07:56:48 -0800345 ":auto_common",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100346 ":guava",
347 ":jcip_annotations",
348 ":jsr305",
349 ":pcollections",
350 "//third_party/checker_framework_dataflow",
351 "//third_party/jformatstring",
352 ],
353)
354
355java_import(
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400356 name = "jackson2",
357 jars = [
358 "jackson2/jackson-core-2.8.6.jar",
359 ],
360)
361
362java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100363 name = "jcip_annotations",
364 jars = [
365 "jcip_annotations/jcip-annotations-1.0-1.jar",
366 ],
367)
368
369java_import(
370 name = "pcollections",
371 jars = [
372 "pcollections/pcollections-2.1.2.jar",
373 ],
374)
375
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100376# For bootstrapping JavaBuilder
377filegroup(
378 name = "bootstrap_guava_and_error_prone-jars",
379 srcs = [
Liam Miller-Cushon0785cbb2017-02-16 07:56:48 -0800380 "auto/auto-common-0.3.jar",
Liam Miller-Cushon0cdefa92017-03-16 13:52:36 -0700381 "error_prone/error_prone_annotation-2.0.19.jar",
382 "error_prone/error_prone_annotations-2.0.19.jar",
383 "error_prone/error_prone_check_api-2.0.19.jar",
384 "error_prone/error_prone_core-2.0.19.jar",
Liam Miller-Cushon0785cbb2017-02-16 07:56:48 -0800385 "guava/guava-21.0.jar",
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100386 "jcip_annotations/jcip-annotations-1.0-1.jar",
387 "jsr305/jsr-305.jar",
388 "pcollections/pcollections-2.1.2.jar",
389 "//third_party/checker_framework_dataflow:bootstrap",
390 "//third_party/jformatstring:bootstrap",
391 ],
392)
393
394# As of Guava 20.0, Guava code uses Error Prone annotations. This isn't a
395# problem when compiling with java 8, but is a problem when compiling Bazel
396# with java 7 (the Error Prone jars need to be on the javac classpath). So,
397# until we drop support for compiling Bazel with java 7, we unfortunately need
398# to ensure that the Error Prone jars are always used together with the Guava
399# jars.
400java_import(
401 name = "guava",
Liam Miller-Cushon0785cbb2017-02-16 07:56:48 -0800402 jars = [
Liam Miller-Cushon0cdefa92017-03-16 13:52:36 -0700403 "error_prone/error_prone_annotations-2.0.19.jar",
Liam Miller-Cushon0785cbb2017-02-16 07:56:48 -0800404 "jcip_annotations/jcip-annotations-1.0-1.jar",
405 "jsr305/jsr-305.jar",
406 ] + select({
407 "//tools/jdk:jdk7": ["guava/guava-21.0-20161101.jar"],
408 "//conditions:default": ["guava/guava-21.0.jar"],
409 }),
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100410)
411
412# For bootstrapping JavaBuilder
413filegroup(
414 name = "guava-jars",
Liam Miller-Cushon0785cbb2017-02-16 07:56:48 -0800415 srcs = ["guava/guava-21.0.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100416)
417
418java_import(
419 name = "jgit",
420 jars = ["jgit/org.eclipse.jgit-4.0.1.201506240215-r.jar"],
421)
422
423java_import(
424 name = "jimfs",
Liam Miller-Cushon4d0582f2017-03-07 18:08:25 -0800425 jars = ["jimfs/jimfs-1.1.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100426)
427
428java_import(
429 name = "joda_time",
430 jars = ["joda_time/joda-time-2.3.jar"],
431)
432
433java_import(
434 name = "jsch",
435 jars = ["jsch/jsch-0.1.51.jar"],
436)
437
438java_import(
439 name = "jsr305",
440 jars = ["jsr305/jsr-305.jar"],
441)
442
443# For bootstrapping JavaBuilder
444filegroup(
445 name = "jsr305-jars",
446 srcs = ["jsr305/jsr-305.jar"],
447)
448
449java_import(
450 name = "jsr330_inject",
451 jars = ["jsr330_inject/javax.inject.jar"],
452)
453
454java_import(
455 name = "maven",
456 jars = glob(["maven/*.jar"]),
457)
458
459java_import(
460 name = "maven_model",
461 jars = [
462 "maven_model/maven-aether-provider-3.2.3.jar",
463 "maven_model/maven-model-3.2.3.jar",
464 "maven_model/maven-model-builder-3.2.3.jar",
465 "maven_model/maven-repository-metadata-3.2.3.jar",
466 ],
467)
468
469java_import(
470 name = "netty",
471 jars = ["netty/netty-all-4.1.0.CR6.jar"],
472)
473
474java_import(
Ola Rozenfeld51b3a082017-03-14 11:45:54 -0400475 name = "netty_tcnative",
476 jars = ["netty_tcnative/netty-tcnative-boringssl-static-1.1.33.Fork26.jar"],
477)
478
479java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100480 name = "plexus_component_annotations",
481 jars = ["plexus_component_annotations/plexus-component-annotations-1.6.jar"],
482)
483
484java_import(
485 name = "plexus_interpolation",
486 jars = ["plexus_interpolation/plexus-interpolation-1.22.jar"],
487)
488
489java_import(
490 name = "plexus_utils",
491 jars = ["plexus_utils/plexus-utils-3.0.21.jar"],
492)
493
494java_import(
495 name = "slf4j",
496 jars = [
497 "slf4j/slf4j-api-1.7.7.jar",
498 "slf4j/slf4j-jdk14-1.7.7.jar",
499 ],
500)
501
502java_import(
503 name = "tomcat_annotations_api",
504 jars = ["tomcat_annotations_api/tomcat-annotations-api-8.0.5.jar"],
505)
506
507# Testing
508
509java_import(
510 name = "guava-testlib",
Liam Miller-Cushon0785cbb2017-02-16 07:56:48 -0800511 jars = select({
512 "//tools/jdk:jdk7": ["guava/guava-testlib-21.0-20161101.jar"],
513 "//conditions:default": ["guava/guava-testlib-21.0.jar"],
514 }),
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100515)
516
517java_import(
518 name = "junit4",
519 jars = [
520 "hamcrest/hamcrest-core-1.3.jar",
521 "junit/junit-4.11.jar",
522 ],
523)
524
525java_import(
526 name = "mockito",
527 jars = ["mockito/mockito-all-1.10.19.jar"],
528)
529
530java_import(
Liam Miller-Cushon4a099f92017-01-03 23:02:56 -0800531 name = "turbine",
Liam Miller-Cushon86c83a12017-03-18 00:30:07 -0700532 jars = ["turbine/turbine-0.1-20170218.jar"],
Liam Miller-Cushon4a099f92017-01-03 23:02:56 -0800533)
534
535java_import(
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100536 name = "truth",
Michael Staib0dc1c5b2017-03-15 11:44:09 -0400537 jars = ["truth/truth-0.32.jar"],
Damien Martin-Guillerezf1ce35f2016-12-21 18:29:04 +0100538)
539
540java_import(
541 name = "xz",
542 jars = ["xz/xz-1.5.jar"],
543)
544
545cc_library(
546 name = "gtest",
547 srcs = [
548 "gtest/gtest-all.cc",
549 "gtest/gtest_main.cc",
550 ],
551 hdrs = [
552 "gtest/gtest.h",
553 ],
554 data = [
555 "//tools:test_sharding_compliant",
556 ],
557 includes = ["."],
558 # gtest detects pthread, and the linker fails without it.
559 linkopts = ["-lpthread"],
560)
561
562# To be used by the skylark example.
563filegroup(
564 name = "junit4-jars",
565 srcs = [
566 "hamcrest/hamcrest-core-1.3.jar",
567 "junit/junit-4.11.jar",
568 ],
569)
570
571config_setting(
572 name = "windows_mingw",
573 values = {"compiler": "windows_mingw"},
574)
575
576config_setting(
577 name = "windows_msys64",
578 values = {"compiler": "windows_msys64"},
579)
580
581config_setting(
582 name = "windows_msys64_mingw64",
583 values = {"compiler": "windows_msys64_mingw64"},
584)
585
586config_setting(
587 name = "windows_clang",
588 values = {"compiler": "windows_clang"},
589)
590
591config_setting(
592 name = "darwin",
593 values = {"host_cpu": "darwin"},
594)
595
596config_setting(
597 name = "k8",
598 values = {"host_cpu": "k8"},
599)
600
601config_setting(
602 name = "piii",
603 values = {"host_cpu": "piii"},
604)
605
606config_setting(
607 name = "arm",
608 values = {"host_cpu": "arm"},
609)
610
611config_setting(
612 name = "freebsd",
613 values = {"host_cpu": "freebsd"},
614)
615
616config_setting(
617 name = "s390x",
618 values = {"host_cpu": "s390x"},
619)
620
621config_setting(
622 name = "ppc",
623 values = {"host_cpu": "ppc"},
624)