Skip to content

Commit 808ec9f

Browse files
cushonCopybara-Service
authored and
Copybara-Service
committed
Clean up Java toolchain configuration
now that JDK 8 host_javabases are no longer supported. PiperOrigin-RevId: 207687089
1 parent f203272 commit 808ec9f

File tree

4 files changed

+4
-42
lines changed

4 files changed

+4
-42
lines changed

src/main/java/com/google/devtools/build/lib/bazel/rules/GenericRules.java

+1-14
Original file line numberDiff line numberDiff line change
@@ -46,16 +46,7 @@ public void init(ConfiguredRuleClassProvider.Builder builder) {
4646

4747
try {
4848
builder.addWorkspaceFilePrefix(
49-
ResourceFileLoader.loadResource(BazelRuleClassProvider.class, "tools.WORKSPACE")
50-
// Hackily select the java_toolchain based on the host JDK version. JDK 8 and
51-
// 9 host_javabases require different toolchains, e.g. to use --patch-module
52-
// instead of -Xbootclasspath/p:.
53-
.replace(
54-
"%java_toolchain%",
55-
isJdk8OrEarlier()
56-
? "@bazel_tools//tools/jdk:toolchain_hostjdk8"
57-
: "@bazel_tools//tools/jdk:toolchain_hostjdk10"));
58-
49+
ResourceFileLoader.loadResource(BazelRuleClassProvider.class, "tools.WORKSPACE"));
5950
} catch (IOException e) {
6051
throw new IllegalStateException(e);
6152
}
@@ -65,8 +56,4 @@ public void init(ConfiguredRuleClassProvider.Builder builder) {
6556
public ImmutableList<RuleSet> requires() {
6657
return ImmutableList.of(CoreRules.INSTANCE);
6758
}
68-
69-
private static boolean isJdk8OrEarlier() {
70-
return Double.parseDouble(System.getProperty("java.class.version")) <= 52.0;
71-
}
7259
}
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
local_repository(name = "bazel_tools", path = __embedded_dir__ + "/embedded_tools")
22
bind(name = "cc_toolchain", actual = "@bazel_tools//tools/cpp:default-toolchain")
3-
bind(name = "java_toolchain", actual = "%java_toolchain%")

tools/jdk/BUILD

+1-21
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ package(default_visibility = ["//visibility:public"])
33
load(
44
"//tools/jdk:default_java_toolchain.bzl",
55
"default_java_toolchain",
6-
"JDK8_JVM_OPTS",
7-
"JDK10_JVM_OPTS",
86
"DEFAULT_JAVACOPTS",
97
)
108

@@ -195,27 +193,15 @@ genrule(
195193
)
196194

197195
default_java_toolchain(
198-
name = "toolchain_hostjdk8",
199-
bootclasspath = [":bootclasspath"],
200-
extclasspath = [":extclasspath"],
201-
jvm_opts = JDK8_JVM_OPTS,
202-
source_version = "8",
203-
target_version = "8",
204-
)
205-
206-
default_java_toolchain(
207-
name = "toolchain_hostjdk10",
196+
name = "toolchain",
208197
bootclasspath = [":bootclasspath"],
209198
extclasspath = [":extclasspath"],
210-
jvm_opts = JDK10_JVM_OPTS,
211199
source_version = "8",
212200
target_version = "8",
213201
)
214202

215203
default_java_toolchain(
216204
name = "toolchain_java9",
217-
# We use the same flags for JDK9 and 10
218-
jvm_opts = JDK10_JVM_OPTS,
219205
misc = DEFAULT_JAVACOPTS + [
220206
"--release",
221207
"9",
@@ -224,18 +210,12 @@ default_java_toolchain(
224210

225211
default_java_toolchain(
226212
name = "toolchain_java10",
227-
jvm_opts = JDK10_JVM_OPTS,
228213
misc = DEFAULT_JAVACOPTS + [
229214
"--release",
230215
"10",
231216
],
232217
)
233218

234-
alias(
235-
name = "toolchain",
236-
actual = "//external:java_toolchain",
237-
)
238-
239219
filegroup(
240220
name = "srcs",
241221
srcs = [

tools/jdk/default_java_toolchain.bzl

+2-6
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,7 @@
1414

1515
"""Bazel rules for creating Java toolchains."""
1616

17-
JDK8_JVM_OPTS = [
18-
"-Xbootclasspath/p:$(location @bazel_tools//third_party/java/jdk/langtools:javac_jar)",
19-
]
20-
21-
JDK10_JVM_OPTS = [
17+
JVM_OPTS = [
2218
# In JDK9 we have seen a ~30% slow down in JavaBuilder performance when using
2319
# G1 collector and having compact strings enabled.
2420
"-XX:+UseParallelOldGC",
@@ -75,7 +71,7 @@ DEFAULT_TOOLCHAIN_CONFIGURATION = {
7571
"@bazel_tools//third_party/java/jdk/langtools:jdk_compiler_jar",
7672
],
7773
"javac_supports_workers": 1,
78-
"jvm_opts": JDK8_JVM_OPTS,
74+
"jvm_opts": JVM_OPTS,
7975
"misc": DEFAULT_JAVACOPTS,
8076
"compatible_javacopts": COMPATIBLE_JAVACOPTS,
8177
"singlejar": ["@bazel_tools//tools/jdk:singlejar"],

0 commit comments

Comments
 (0)