diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/java/Jvm.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/java/Jvm.java | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/Jvm.java b/src/main/java/com/google/devtools/build/lib/rules/java/Jvm.java index 37271b8b48..fb7941f101 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/java/Jvm.java +++ b/src/main/java/com/google/devtools/build/lib/rules/java/Jvm.java @@ -89,7 +89,12 @@ public final class Jvm extends BuildConfiguration.Fragment { @SkylarkCallable(name = "java_executable", structField = true, doc = "The java executable, i.e. bin/java relative to the Java home.") public PathFragment getJavaExecutable() { - return java; + if (jvmLabel == null || jvmLabel.getPackageIdentifier().getRepository().isMain()) { + return java; + } else { + return jvmLabel.getPackageIdentifier().getRepository().getPathUnderExecRoot() + .getRelative(BIN_JAVA); + } } /** @@ -103,17 +108,6 @@ public final class Jvm extends BuildConfiguration.Fragment { return jvmLabel; } - /** - * If possible, resolves java relative to the jvmLabel's repository. Otherwise, returns the - * same thing as getJavaExecutable(). - */ - public PathFragment getRunfilesJavaExecutable() { - if (jvmLabel == null || jvmLabel.getPackageIdentifier().getRepository().isMain()) { - return getJavaExecutable(); - } - return jvmLabel.getPackageIdentifier().getRepository().getRunfilesPath().getRelative(BIN_JAVA); - } - @Override public void addGlobalMakeVariables(Builder<String, String> globalMakeEnvBuilder) { globalMakeEnvBuilder.put("JAVABASE", getJavaHome().getPathString()); |