blob: 1fe912bc06e810730b18a73787c2b7c0e489a638 [file] [log] [blame]
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +01001package(default_visibility = ["//visibility:public"])
2
Damien Martin-Guillerez0ad9f5e2016-04-20 13:58:08 +00003config_setting(
4 name = "jdk7",
5 values = {"define": "JAVA_VERSION=1.7"},
6)
7
8genrule(
9 name = "BUILD-jdk7",
10 srcs = [":BUILD"],
11 outs = ["BUILD.jdk7"],
Irina Iancu3da16e32017-02-21 15:21:09 +000012 cmd = "sed -e 's/_version = \"8\"/_version = \"7\"/' -e 's/javac_supports_workers = 1/javac_supports_workers = 0/' $< > $@",
Damien Martin-Guillerez0ad9f5e2016-04-20 13:58:08 +000013)
14
15filegroup(
16 name = "BUILD-jdk",
17 srcs = select({
18 ":jdk7": [":BUILD-jdk7"],
19 "//conditions:default": [":BUILD"],
20 }),
21)
22
Ulf Adams27085f42016-10-06 08:51:47 +000023alias(
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010024 name = "jni_header",
Ulf Adamsc8510b12017-02-14 10:27:11 +000025 actual = "@local_jdk//:jni_header",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010026)
27
Ulf Adams27085f42016-10-06 08:51:47 +000028alias(
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010029 name = "jni_md_header-darwin",
Ulf Adamsc8510b12017-02-14 10:27:11 +000030 actual = "@local_jdk//:jni_md_header-darwin",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010031)
32
Ulf Adams27085f42016-10-06 08:51:47 +000033alias(
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010034 name = "jni_md_header-linux",
Ulf Adamsc8510b12017-02-14 10:27:11 +000035 actual = "@local_jdk//:jni_md_header-linux",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010036)
37
Ulf Adams27085f42016-10-06 08:51:47 +000038alias(
Doug Rabson709bc612015-08-25 14:12:00 +000039 name = "jni_md_header-freebsd",
Ulf Adamsc8510b12017-02-14 10:27:11 +000040 actual = "@local_jdk//:jni_md_header-freebsd",
Doug Rabson709bc612015-08-25 14:12:00 +000041)
42
Ulf Adams27085f42016-10-06 08:51:47 +000043alias(
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010044 name = "java",
Ulf Adamsc8510b12017-02-14 10:27:11 +000045 actual = "@local_jdk//:java",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010046)
47
Ulf Adams27085f42016-10-06 08:51:47 +000048alias(
Damien Martin-Guillerez0bf90f72015-06-11 09:20:59 +000049 name = "jar",
Ulf Adamsc8510b12017-02-14 10:27:11 +000050 actual = "@local_jdk//:jar",
Damien Martin-Guillerez0bf90f72015-06-11 09:20:59 +000051)
52
Ulf Adams27085f42016-10-06 08:51:47 +000053alias(
Damien Martin-Guillerez0bf90f72015-06-11 09:20:59 +000054 name = "javac",
Ulf Adamsc8510b12017-02-14 10:27:11 +000055 actual = "@local_jdk//:javac",
Damien Martin-Guillerez0bf90f72015-06-11 09:20:59 +000056)
57
Lukacs Berkib35e25d2016-02-10 16:44:54 +000058# On Windows, executables end in ".exe", but the label we reach it through
59# must be platform-independent. Thus, we create a little filegroup that
60# contains the appropriate platform-dependent file.
61filegroup(
62 name = "ijar",
63 srcs = glob(["ijar/*"]),
64)
65
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010066BOOTCLASS_JARS = [
67 "rt.jar",
68 "resources.jar",
69 "jsse.jar",
70 "jce.jar",
71 "charsets.jar",
72]
73
Ulf Adams27085f42016-10-06 08:51:47 +000074alias(
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010075 name = "bootclasspath",
Ulf Adamsc8510b12017-02-14 10:27:11 +000076 actual = "@local_jdk//:bootclasspath",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010077)
78
Ulf Adams27085f42016-10-06 08:51:47 +000079alias(
Liam Miller-Cushon8153cb82017-02-17 03:42:18 +000080 name = "extclasspath",
Ulf Adamsc8510b12017-02-14 10:27:11 +000081 actual = "@local_jdk//:extdir",
Liam Miller-Cushon22218602015-05-19 17:23:01 +000082)
83
Irina Iancuc9a75d22017-02-21 13:45:20 +000084# TODO(cushon): migrate to extclasspath and delete
85alias(
86 name = "extdir",
87 actual = "@local_jdk//:extdir",
88)
89
Liam Miller-Cushon22218602015-05-19 17:23:01 +000090filegroup(
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010091 name = "langtools",
Liam Miller-Cushon1ed3c472015-06-19 00:35:26 +000092 srcs = ["//third_party/java/jdk/langtools:javac_jar"],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010093)
94
95java_import(
96 name = "langtools-neverlink",
Liam Miller-Cushon1ed3c472015-06-19 00:35:26 +000097 jars = [":langtools"],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +010098 neverlink = 1,
99)
100
Ulf Adams27085f42016-10-06 08:51:47 +0000101alias(
Philipp Wollermannc8db70c2015-08-21 13:35:10 +0000102 name = "jre",
Ulf Adamsc8510b12017-02-14 10:27:11 +0000103 actual = "@local_jdk//:jre",
Philipp Wollermannc8db70c2015-08-21 13:35:10 +0000104)
105
Ulf Adams27085f42016-10-06 08:51:47 +0000106alias(
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100107 name = "jdk",
Ulf Adamsc8510b12017-02-14 10:27:11 +0000108 actual = "@local_jdk//:jdk",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100109)
110
111java_toolchain(
112 name = "toolchain",
Liam Miller-Cushon3ee570f2016-04-18 20:44:30 +0000113 bootclasspath = [":bootclasspath"],
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100114 encoding = "UTF-8",
Liam Miller-Cushon8153cb82017-02-17 03:42:18 +0000115 extclasspath = [":extclasspath"],
Irina Iancu3da16e32017-02-21 15:21:09 +0000116 forcibly_disable_header_compilation = 1,
Liam Miller-Cushon3ee570f2016-04-18 20:44:30 +0000117 genclass = ["//tools/jdk:GenClass_deploy.jar"],
Liam Miller-Cushone4880eb2016-05-05 22:35:18 +0000118 header_compiler = ["//tools/jdk:turbine_deploy.jar"],
Liam Miller-Cushon3ee570f2016-04-18 20:44:30 +0000119 ijar = ["@bazel_tools//tools/jdk:ijar"],
120 javabuilder = ["//tools/jdk:JavaBuilder_deploy.jar"],
121 javac = ["//third_party/java/jdk/langtools:javac_jar"],
Philipp Wollermann490f2502016-07-29 13:04:16 +0000122 javac_supports_workers = 1,
Philipp Wollermann74cb8c72016-07-15 14:01:37 +0000123 jvm_opts = [
124 "-XX:+TieredCompilation",
125 "-XX:TieredStopAtLevel=1",
126 ],
Liam Miller-Cushon9e3f9ce2017-02-06 19:08:08 +0000127 misc = [
128 "-XDskipDuplicateBridges=true",
129 ],
Liam Miller-Cushon3ee570f2016-04-18 20:44:30 +0000130 singlejar = ["//tools/jdk:SingleJar_deploy.jar"],
Damien Martin-Guillerez9c5deb62015-09-15 07:38:26 +0000131 source_version = "8",
132 target_version = "8",
Han-Wen Nienhuysd08b27f2015-02-25 16:45:20 +0100133)
Damien Martin-Guillerezbfcb7f32015-02-19 13:18:11 +0000134
Damien Martin-Guillerez5cbd5a42015-03-24 21:55:19 +0000135filegroup(
136 name = "srcs",
Michael Staib6817a6f2015-10-05 15:58:23 +0000137 srcs = [
Damien Martin-Guillerez0ad9f5e2016-04-20 13:58:08 +0000138 "BUILD-jdk", # Tools are build from the workspace for tests.
Michael Staib6817a6f2015-10-05 15:58:23 +0000139 "proguard_whitelister.py",
140 "proguard_whitelister_test.py",
141 "proguard_whitelister_test_input.cfg",
142 ],
Damien Martin-Guillerez5cbd5a42015-03-24 21:55:19 +0000143)
Damien Martin-Guillerezab13f682015-07-28 08:19:32 +0000144
145filegroup(
146 name = "package-srcs",
147 srcs = glob(["**"]),
148)
Michael Staib6817a6f2015-10-05 15:58:23 +0000149
150py_binary(
151 name = "proguard_whitelister",
152 srcs = [
153 "proguard_whitelister.py",
154 ],
155 deps = [
156 "//third_party/py/gflags",
157 ],
158)
159
160py_test(
161 name = "proguard_whitelister_test",
162 srcs = ["proguard_whitelister_test.py"],
163 data = ["proguard_whitelister_test_input.cfg"],
164 deps = [
165 ":proguard_whitelister",
166 ],
167)
Yue Gan4a753492016-12-20 04:54:55 +0000168
169# For java coverage
170alias(
171 name = "jacoco-blaze-agent",
172 actual = "//third_party/java/jacoco:blaze-agent",
173)
174
Damien Martin-Guillerez39e5a462016-12-20 10:58:17 +0000175java_import(
Yue Gan4a753492016-12-20 04:54:55 +0000176 name = "JacocoCoverage",
Damien Martin-Guillerez39e5a462016-12-20 10:58:17 +0000177 jars = [":JacocoCoverage_deploy.jar"],
Yue Gan4a753492016-12-20 04:54:55 +0000178)
Adam Michaelb95d4a92017-02-10 22:21:47 +0000179
180java_import(
181 name = "SingleJar",
182 jars = ["SingleJar_deploy.jar"],
183)
184
185java_binary(
186 name = "SingleJar_binary",
187 main_class = "com.google.devtools.build.singlejar.SingleJar",
188 runtime_deps = [":SingleJar"],
189)