aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java b/src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java
index 02d7a2f8a1..c2e9721b2c 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BlazeDirectories.java
@@ -52,6 +52,11 @@ public final class BlazeDirectories {
private final ServerDirectories serverDirectories;
/** Workspace root and server CWD. */
private final Path workspace;
+ /**
+ * The root of the user's local JDK install, to be used as the default target javabase and as a
+ * fall-back host_javabase. This is not the embedded JDK.
+ */
+ private final Path defaultSystemJavabase;
/** The root of all build actions. */
private final Path execRoot;
@@ -62,9 +67,14 @@ public final class BlazeDirectories {
private final String productName;
@AutoCodec.Instantiator
- public BlazeDirectories(ServerDirectories serverDirectories, Path workspace, String productName) {
+ public BlazeDirectories(
+ ServerDirectories serverDirectories,
+ Path workspace,
+ Path defaultSystemJavabase,
+ String productName) {
this.serverDirectories = serverDirectories;
this.workspace = workspace;
+ this.defaultSystemJavabase = defaultSystemJavabase;
this.productName = productName;
Path outputBase = serverDirectories.getOutputBase();
Path execRootBase = outputBase.getChild("execroot");
@@ -99,6 +109,11 @@ public final class BlazeDirectories {
return workspace;
}
+ /** Returns the root of the user's local JDK install (not the embedded JDK). */
+ public Path getLocalJavabase() {
+ return defaultSystemJavabase;
+ }
+
/** Returns if the workspace directory is a valid workspace. */
public boolean inWorkspace() {
return this.workspace != null;