Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 1 | package(default_visibility = ["//visibility:public"]) |
| 2 | |
lberki | 528a1ea | 2017-07-13 17:11:18 +0200 | [diff] [blame] | 3 | # TODO(lberki): Remove this once java_toolchain_alias and java_runtime_alias are |
| 4 | # in a Bazel release |
| 5 | load("//tools/jdk:alias_rules.bzl", "java_runtime_alias", "java_toolchain_alias") |
| 6 | |
| 7 | java_runtime_alias(name = "current_java_runtime") |
| 8 | |
| 9 | java_toolchain_alias(name = "current_java_toolchain") |
| 10 | |
Damien Martin-Guillerez | 0ad9f5e | 2016-04-20 13:58:08 +0000 | [diff] [blame] | 11 | config_setting( |
| 12 | name = "jdk7", |
| 13 | values = {"define": "JAVA_VERSION=1.7"}, |
| 14 | ) |
| 15 | |
| 16 | genrule( |
| 17 | name = "BUILD-jdk7", |
| 18 | srcs = [":BUILD"], |
| 19 | outs = ["BUILD.jdk7"], |
xingao | 8df71b5 | 2017-04-03 15:25:18 +0000 | [diff] [blame] | 20 | cmd = "sed -e 's/_version = \"8\"/_version = \"7\"/' -e 's/javac_supports_workers = 1/javac_supports_workers = 0/' -e 's/forcibly_disable_header_compilation = 0/forcibly_disable_header_compilation = 1/g' -e 's/:JavaBuilder_deploy/:VanillaJavaBuilder_deploy/' $< > $@", |
Damien Martin-Guillerez | 0ad9f5e | 2016-04-20 13:58:08 +0000 | [diff] [blame] | 21 | ) |
| 22 | |
| 23 | filegroup( |
| 24 | name = "BUILD-jdk", |
| 25 | srcs = select({ |
| 26 | ":jdk7": [":BUILD-jdk7"], |
| 27 | "//conditions:default": [":BUILD"], |
| 28 | }), |
| 29 | ) |
| 30 | |
Ulf Adams | 27085f4 | 2016-10-06 08:51:47 +0000 | [diff] [blame] | 31 | alias( |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 32 | name = "jni_header", |
Ulf Adams | c8510b1 | 2017-02-14 10:27:11 +0000 | [diff] [blame] | 33 | actual = "@local_jdk//:jni_header", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 34 | ) |
| 35 | |
Ulf Adams | 27085f4 | 2016-10-06 08:51:47 +0000 | [diff] [blame] | 36 | alias( |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 37 | name = "jni_md_header-darwin", |
Ulf Adams | c8510b1 | 2017-02-14 10:27:11 +0000 | [diff] [blame] | 38 | actual = "@local_jdk//:jni_md_header-darwin", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 39 | ) |
| 40 | |
Ulf Adams | 27085f4 | 2016-10-06 08:51:47 +0000 | [diff] [blame] | 41 | alias( |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 42 | name = "jni_md_header-linux", |
Ulf Adams | c8510b1 | 2017-02-14 10:27:11 +0000 | [diff] [blame] | 43 | actual = "@local_jdk//:jni_md_header-linux", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 44 | ) |
| 45 | |
Ulf Adams | 27085f4 | 2016-10-06 08:51:47 +0000 | [diff] [blame] | 46 | alias( |
pcloudy | 178e03e9 | 2017-06-27 10:32:46 +0200 | [diff] [blame] | 47 | name = "jni_md_header-windows", |
| 48 | actual = "@local_jdk//:jni_md_header-windows", |
| 49 | ) |
| 50 | |
| 51 | alias( |
Doug Rabson | 709bc61 | 2015-08-25 14:12:00 +0000 | [diff] [blame] | 52 | name = "jni_md_header-freebsd", |
Ulf Adams | c8510b1 | 2017-02-14 10:27:11 +0000 | [diff] [blame] | 53 | actual = "@local_jdk//:jni_md_header-freebsd", |
Doug Rabson | 709bc61 | 2015-08-25 14:12:00 +0000 | [diff] [blame] | 54 | ) |
| 55 | |
Ulf Adams | 27085f4 | 2016-10-06 08:51:47 +0000 | [diff] [blame] | 56 | alias( |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 57 | name = "java", |
Ulf Adams | c8510b1 | 2017-02-14 10:27:11 +0000 | [diff] [blame] | 58 | actual = "@local_jdk//:java", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 59 | ) |
| 60 | |
Ulf Adams | 27085f4 | 2016-10-06 08:51:47 +0000 | [diff] [blame] | 61 | alias( |
Damien Martin-Guillerez | 0bf90f7 | 2015-06-11 09:20:59 +0000 | [diff] [blame] | 62 | name = "jar", |
Ulf Adams | c8510b1 | 2017-02-14 10:27:11 +0000 | [diff] [blame] | 63 | actual = "@local_jdk//:jar", |
Damien Martin-Guillerez | 0bf90f7 | 2015-06-11 09:20:59 +0000 | [diff] [blame] | 64 | ) |
| 65 | |
Ulf Adams | 27085f4 | 2016-10-06 08:51:47 +0000 | [diff] [blame] | 66 | alias( |
Damien Martin-Guillerez | 0bf90f7 | 2015-06-11 09:20:59 +0000 | [diff] [blame] | 67 | name = "javac", |
Ulf Adams | c8510b1 | 2017-02-14 10:27:11 +0000 | [diff] [blame] | 68 | actual = "@local_jdk//:javac", |
Damien Martin-Guillerez | 0bf90f7 | 2015-06-11 09:20:59 +0000 | [diff] [blame] | 69 | ) |
| 70 | |
Lukacs Berki | b35e25d | 2016-02-10 16:44:54 +0000 | [diff] [blame] | 71 | # On Windows, executables end in ".exe", but the label we reach it through |
| 72 | # must be platform-independent. Thus, we create a little filegroup that |
| 73 | # contains the appropriate platform-dependent file. |
| 74 | filegroup( |
| 75 | name = "ijar", |
xingao | 1f0f1f1 | 2017-11-01 13:03:40 -0400 | [diff] [blame] | 76 | srcs = select({ |
| 77 | "//src:remote": ["//third_party/ijar:ijar"], |
| 78 | "//conditions:default": glob(["ijar/*"]), |
| 79 | }), |
Lukacs Berki | b35e25d | 2016-02-10 16:44:54 +0000 | [diff] [blame] | 80 | ) |
| 81 | |
xingao | 202d591 | 2017-06-01 19:23:29 +0200 | [diff] [blame] | 82 | # On Windows, Java implementation of singlejar is used. We create a little |
| 83 | # filegroup that contains the appropriate platform-dependent file. |
| 84 | # Once https://github.com/bazelbuild/bazel/issues/2241 is fixed (that is, |
| 85 | # the native singlejar is used on windows), this file group can be reused since |
| 86 | # on Windows, executables end in ".exe", but the label we reach it through |
| 87 | # must be platform-independent. |
| 88 | filegroup( |
| 89 | name = "singlejar", |
xingao | 1f0f1f1 | 2017-11-01 13:03:40 -0400 | [diff] [blame] | 90 | srcs = select({ |
| 91 | "//src:remote": ["//src/tools/singlejar:singlejar"], |
| 92 | "//conditions:default": glob(["singlejar/*"]), |
| 93 | }), |
xingao | 202d591 | 2017-06-01 19:23:29 +0200 | [diff] [blame] | 94 | ) |
| 95 | |
xingao | 8df71b5 | 2017-04-03 15:25:18 +0000 | [diff] [blame] | 96 | filegroup( |
| 97 | name = "genclass", |
| 98 | srcs = ["//tools/jdk:GenClass_deploy.jar"], |
| 99 | ) |
| 100 | |
| 101 | filegroup( |
| 102 | name = "turbine", |
| 103 | srcs = ["//tools/jdk:turbine_deploy.jar"], |
| 104 | ) |
| 105 | |
| 106 | filegroup( |
xingao | 8df71b5 | 2017-04-03 15:25:18 +0000 | [diff] [blame] | 107 | name = "javabuilder", |
| 108 | srcs = ["//tools/jdk:JavaBuilder_deploy.jar"], |
| 109 | ) |
| 110 | |
| 111 | filegroup( |
| 112 | name = "vanillajavabuilder", |
| 113 | srcs = ["//tools/jdk:VanillaJavaBuilder_deploy.jar"], |
| 114 | ) |
| 115 | |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 116 | BOOTCLASS_JARS = [ |
| 117 | "rt.jar", |
| 118 | "resources.jar", |
| 119 | "jsse.jar", |
| 120 | "jce.jar", |
| 121 | "charsets.jar", |
| 122 | ] |
| 123 | |
Ulf Adams | 27085f4 | 2016-10-06 08:51:47 +0000 | [diff] [blame] | 124 | alias( |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 125 | name = "bootclasspath", |
Ulf Adams | c8510b1 | 2017-02-14 10:27:11 +0000 | [diff] [blame] | 126 | actual = "@local_jdk//:bootclasspath", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 127 | ) |
| 128 | |
Ulf Adams | 27085f4 | 2016-10-06 08:51:47 +0000 | [diff] [blame] | 129 | alias( |
Liam Miller-Cushon | 8153cb8 | 2017-02-17 03:42:18 +0000 | [diff] [blame] | 130 | name = "extclasspath", |
Ulf Adams | c8510b1 | 2017-02-14 10:27:11 +0000 | [diff] [blame] | 131 | actual = "@local_jdk//:extdir", |
Liam Miller-Cushon | 2221860 | 2015-05-19 17:23:01 +0000 | [diff] [blame] | 132 | ) |
| 133 | |
Irina Iancu | c9a75d2 | 2017-02-21 13:45:20 +0000 | [diff] [blame] | 134 | # TODO(cushon): migrate to extclasspath and delete |
| 135 | alias( |
| 136 | name = "extdir", |
| 137 | actual = "@local_jdk//:extdir", |
| 138 | ) |
| 139 | |
Liam Miller-Cushon | 2221860 | 2015-05-19 17:23:01 +0000 | [diff] [blame] | 140 | filegroup( |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 141 | name = "langtools", |
Liam Miller-Cushon | 38949b8 | 2017-05-08 10:18:38 -0400 | [diff] [blame] | 142 | srcs = ["//third_party/java/jdk/langtools:javac_jar"], |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 143 | ) |
| 144 | |
| 145 | java_import( |
| 146 | name = "langtools-neverlink", |
Liam Miller-Cushon | 1ed3c47 | 2015-06-19 00:35:26 +0000 | [diff] [blame] | 147 | jars = [":langtools"], |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 148 | neverlink = 1, |
| 149 | ) |
| 150 | |
Ulf Adams | 27085f4 | 2016-10-06 08:51:47 +0000 | [diff] [blame] | 151 | alias( |
Philipp Wollermann | c8db70c | 2015-08-21 13:35:10 +0000 | [diff] [blame] | 152 | name = "jre", |
Ulf Adams | c8510b1 | 2017-02-14 10:27:11 +0000 | [diff] [blame] | 153 | actual = "@local_jdk//:jre", |
Philipp Wollermann | c8db70c | 2015-08-21 13:35:10 +0000 | [diff] [blame] | 154 | ) |
| 155 | |
Ulf Adams | 27085f4 | 2016-10-06 08:51:47 +0000 | [diff] [blame] | 156 | alias( |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 157 | name = "jdk", |
Ulf Adams | c8510b1 | 2017-02-14 10:27:11 +0000 | [diff] [blame] | 158 | actual = "@local_jdk//:jdk", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 159 | ) |
| 160 | |
| 161 | java_toolchain( |
| 162 | name = "toolchain", |
Liam Miller-Cushon | 3ee570f | 2016-04-18 20:44:30 +0000 | [diff] [blame] | 163 | bootclasspath = [":bootclasspath"], |
ajmichael | 36d5267 | 2017-08-16 23:52:22 +0200 | [diff] [blame] | 164 | compatible_javacopts = { |
| 165 | # Restrict protos to Java 7 so that they are compatible with Android. |
| 166 | "proto": [ |
| 167 | "-source", |
| 168 | "7", |
| 169 | "-target", |
| 170 | "7", |
| 171 | "-XDallowBetterNullChecks=false", |
| 172 | ], |
| 173 | }, |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 174 | encoding = "UTF-8", |
Liam Miller-Cushon | 8153cb8 | 2017-02-17 03:42:18 +0000 | [diff] [blame] | 175 | extclasspath = [":extclasspath"], |
Liam Miller-Cushon | 7a1ea78 | 2017-02-21 20:59:49 +0000 | [diff] [blame] | 176 | forcibly_disable_header_compilation = 0, |
xingao | 8df71b5 | 2017-04-03 15:25:18 +0000 | [diff] [blame] | 177 | genclass = ["@bazel_tools//tools/jdk:genclass"], |
| 178 | header_compiler = ["@bazel_tools//tools/jdk:turbine"], |
Liam Miller-Cushon | 3ee570f | 2016-04-18 20:44:30 +0000 | [diff] [blame] | 179 | ijar = ["@bazel_tools//tools/jdk:ijar"], |
xingao | 8df71b5 | 2017-04-03 15:25:18 +0000 | [diff] [blame] | 180 | javabuilder = ["@bazel_tools//tools/jdk:javabuilder"], |
Liam Miller-Cushon | 38949b8 | 2017-05-08 10:18:38 -0400 | [diff] [blame] | 181 | javac = ["//third_party/java/jdk/langtools:javac_jar"], |
Philipp Wollermann | 490f250 | 2016-07-29 13:04:16 +0000 | [diff] [blame] | 182 | javac_supports_workers = 1, |
Philipp Wollermann | 74cb8c7 | 2016-07-15 14:01:37 +0000 | [diff] [blame] | 183 | jvm_opts = [ |
| 184 | "-XX:+TieredCompilation", |
| 185 | "-XX:TieredStopAtLevel=1", |
cushon | c5358e5 | 2017-07-12 05:38:46 +0200 | [diff] [blame] | 186 | "-Xbootclasspath/p:$(location //third_party/java/jdk/langtools:javac_jar)", |
Philipp Wollermann | 74cb8c7 | 2016-07-15 14:01:37 +0000 | [diff] [blame] | 187 | ], |
Liam Miller-Cushon | 9e3f9ce | 2017-02-06 19:08:08 +0000 | [diff] [blame] | 188 | misc = [ |
| 189 | "-XDskipDuplicateBridges=true", |
cushon | ff1bdb0 | 2017-08-23 01:11:24 +0200 | [diff] [blame] | 190 | "-g", |
| 191 | "-parameters", |
Liam Miller-Cushon | 9e3f9ce | 2017-02-06 19:08:08 +0000 | [diff] [blame] | 192 | ], |
xingao | 202d591 | 2017-06-01 19:23:29 +0200 | [diff] [blame] | 193 | singlejar = ["@bazel_tools//tools/jdk:singlejar"], |
Damien Martin-Guillerez | 9c5deb6 | 2015-09-15 07:38:26 +0000 | [diff] [blame] | 194 | source_version = "8", |
| 195 | target_version = "8", |
Han-Wen Nienhuys | d08b27f | 2015-02-25 16:45:20 +0100 | [diff] [blame] | 196 | ) |
Damien Martin-Guillerez | bfcb7f3 | 2015-02-19 13:18:11 +0000 | [diff] [blame] | 197 | |
Damien Martin-Guillerez | 5cbd5a4 | 2015-03-24 21:55:19 +0000 | [diff] [blame] | 198 | filegroup( |
| 199 | name = "srcs", |
Michael Staib | 6817a6f | 2015-10-05 15:58:23 +0000 | [diff] [blame] | 200 | srcs = [ |
Damien Martin-Guillerez | 0ad9f5e | 2016-04-20 13:58:08 +0000 | [diff] [blame] | 201 | "BUILD-jdk", # Tools are build from the workspace for tests. |
lberki | 528a1ea | 2017-07-13 17:11:18 +0200 | [diff] [blame] | 202 | "alias_rules.bzl", |
Michael Staib | 6817a6f | 2015-10-05 15:58:23 +0000 | [diff] [blame] | 203 | "proguard_whitelister.py", |
| 204 | "proguard_whitelister_test.py", |
| 205 | "proguard_whitelister_test_input.cfg", |
| 206 | ], |
Damien Martin-Guillerez | 5cbd5a4 | 2015-03-24 21:55:19 +0000 | [diff] [blame] | 207 | ) |
Damien Martin-Guillerez | ab13f68 | 2015-07-28 08:19:32 +0000 | [diff] [blame] | 208 | |
| 209 | filegroup( |
| 210 | name = "package-srcs", |
| 211 | srcs = glob(["**"]), |
| 212 | ) |
Michael Staib | 6817a6f | 2015-10-05 15:58:23 +0000 | [diff] [blame] | 213 | |
| 214 | py_binary( |
| 215 | name = "proguard_whitelister", |
| 216 | srcs = [ |
| 217 | "proguard_whitelister.py", |
| 218 | ], |
| 219 | deps = [ |
| 220 | "//third_party/py/gflags", |
| 221 | ], |
| 222 | ) |
| 223 | |
| 224 | py_test( |
| 225 | name = "proguard_whitelister_test", |
| 226 | srcs = ["proguard_whitelister_test.py"], |
| 227 | data = ["proguard_whitelister_test_input.cfg"], |
| 228 | deps = [ |
| 229 | ":proguard_whitelister", |
| 230 | ], |
| 231 | ) |
Yue Gan | 4a75349 | 2016-12-20 04:54:55 +0000 | [diff] [blame] | 232 | |
| 233 | # For java coverage |
| 234 | alias( |
| 235 | name = "jacoco-blaze-agent", |
| 236 | actual = "//third_party/java/jacoco:blaze-agent", |
| 237 | ) |
| 238 | |
Damien Martin-Guillerez | 39e5a46 | 2016-12-20 10:58:17 +0000 | [diff] [blame] | 239 | java_import( |
Yue Gan | 4a75349 | 2016-12-20 04:54:55 +0000 | [diff] [blame] | 240 | name = "JacocoCoverage", |
Damien Martin-Guillerez | 39e5a46 | 2016-12-20 10:58:17 +0000 | [diff] [blame] | 241 | jars = [":JacocoCoverage_deploy.jar"], |
Yue Gan | 4a75349 | 2016-12-20 04:54:55 +0000 | [diff] [blame] | 242 | ) |