aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/java/Jvm.java
diff options
context:
space:
mode:
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.java18
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());