aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar dannark <dannark@google.com>2017-12-20 21:50:18 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-20 21:52:27 -0800
commit26b7ea6a37961ce993afe510d0ff8c1b5ecb30bc (patch)
tree18ee98a93cdc419bebc5db5f166423f70368a58c /src/main/java
parentdbe59b2b1611143132fd2f6311ed259b3b85445a (diff)
Automated rollback of commit 56ef727987c05df2953a4a53935b4f9b899f9d81.
*** Reason for rollback *** Breaks guitar tests *** Original change description *** Allow --javabase to accept java_runtime (not just java_runtime_suite) Fixes bazelbuild/bazel#3407 PiperOrigin-RevId: 179771492
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java36
1 files changed, 9 insertions, 27 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java b/src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java
index 51f6778fd8..10367cf631 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JvmConfigurationLoader.java
@@ -83,17 +83,13 @@ public final class JvmConfigurationLoader implements ConfigurationFragmentFactor
}
Target javaHomeTarget = lookup.getTarget(javaBase);
if (javaHomeTarget instanceof Rule) {
- switch (((Rule) javaHomeTarget).getRuleClass()) {
- case "java_runtime_suite":
- return createFromRuntimeSuite(lookup, (Rule) javaHomeTarget, cpu);
- case "java_runtime":
- return createFromRuntime(lookup, javaHomeTarget.getLabel());
- default:
- throw new InvalidConfigurationException(
- "Unexpected javabase rule kind '"
- + ((Rule) javaHomeTarget).getRuleClass()
- + "'. Expected java_runtime_suite");
+ if (!((Rule) javaHomeTarget).getRuleClass().equals("java_runtime_suite")) {
+ throw new InvalidConfigurationException(
+ "Unexpected javabase rule kind '"
+ + ((Rule) javaHomeTarget).getRuleClass()
+ + "'. Expected java_runtime_suite");
}
+ return createFromRuntimeSuite(lookup, (Rule) javaHomeTarget, cpu);
}
throw new InvalidConfigurationException(
"No JVM target found under " + javaBase + " that would work for " + cpu);
@@ -105,25 +101,11 @@ public final class JvmConfigurationLoader implements ConfigurationFragmentFactor
// TODO(b/34175492): eventually the Jvm fragement will containg only the label of a java_runtime
// rule, and all of the configuration will be accessed using JavaRuntimeInfo.
-
- private static Jvm createFromRuntimeSuite(
- ConfigurationEnvironment lookup, Rule javaRuntimeSuite, String cpu)
+ private static Jvm createFromRuntimeSuite(ConfigurationEnvironment lookup, Rule javaRuntimeSuite,
+ String cpu)
throws InvalidConfigurationException, InterruptedException, NoSuchTargetException,
NoSuchPackageException {
Label javaRuntimeLabel = selectRuntime(javaRuntimeSuite, cpu);
- PathFragment javaHome = getJavaHome(lookup, javaRuntimeLabel);
- return new Jvm(javaHome, javaRuntimeSuite.getLabel());
- }
-
- private static Jvm createFromRuntime(ConfigurationEnvironment lookup, Label javaRuntimeLabel)
- throws InvalidConfigurationException, InterruptedException, NoSuchTargetException,
- NoSuchPackageException {
- return new Jvm(getJavaHome(lookup, javaRuntimeLabel), javaRuntimeLabel);
- }
-
- private static PathFragment getJavaHome(ConfigurationEnvironment lookup, Label javaRuntimeLabel)
- throws NoSuchPackageException, NoSuchTargetException, InterruptedException,
- InvalidConfigurationException {
Target javaRuntimeTarget = lookup.getTarget(javaRuntimeLabel);
if (javaRuntimeTarget == null) {
return null;
@@ -150,7 +132,7 @@ public final class JvmConfigurationLoader implements ConfigurationFragmentFactor
javaHomePath, srcs.toString()));
}
}
- return javaHomePath;
+ return new Jvm(javaHomePath, javaRuntimeSuite.getLabel());
}
private static Label selectRuntime(Rule javaRuntimeSuite, String cpu)