diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java index 73358746d9..5d55d31012 100644 --- a/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java +++ b/src/main/java/com/google/devtools/build/lib/packages/WorkspaceFactory.java @@ -71,12 +71,14 @@ public class WorkspaceFactory { "__embedded_dir__", // serializable so optional "__workspace_dir__", // serializable so optional "DEFAULT_SERVER_JAVABASE", // serializable so optional + "DEFAULT_SYSTEM_JAVABASE", // serializable so optional PackageFactory.PKG_CONTEXT); private final Package.Builder builder; private final Path installDir; private final Path workspaceDir; + private final Path defaultSystemJavabaseDir; private final Mutability mutability; private final boolean allowOverride; @@ -107,7 +109,7 @@ public class WorkspaceFactory { RuleClassProvider ruleClassProvider, ImmutableList<EnvironmentExtension> environmentExtensions, Mutability mutability) { - this(builder, ruleClassProvider, environmentExtensions, mutability, true, null, null); + this(builder, ruleClassProvider, environmentExtensions, mutability, true, null, null, null); } // TODO(bazel-team): document installDir @@ -118,6 +120,7 @@ public class WorkspaceFactory { * @param mutability the Mutability for the current evaluation context * @param installDir the install directory * @param workspaceDir the workspace directory + * @param defaultSystemJavabaseDir the local JDK directory */ public WorkspaceFactory( Package.Builder builder, @@ -126,11 +129,13 @@ public class WorkspaceFactory { Mutability mutability, boolean allowOverride, @Nullable Path installDir, - @Nullable Path workspaceDir) { + @Nullable Path workspaceDir, + @Nullable Path defaultSystemJavabaseDir) { this.builder = builder; this.mutability = mutability; this.installDir = installDir; this.workspaceDir = workspaceDir; + this.defaultSystemJavabaseDir = defaultSystemJavabaseDir; this.allowOverride = allowOverride; this.environmentExtensions = environmentExtensions; this.ruleFactory = new RuleFactory(ruleClassProvider, AttributeContainer::new); @@ -534,6 +539,11 @@ public class WorkspaceFactory { javaHome = javaHome.getParentFile(); } workspaceEnv.update("DEFAULT_SERVER_JAVABASE", javaHome.toString()); + workspaceEnv.update( + "DEFAULT_SYSTEM_JAVABASE", + defaultSystemJavabaseDir != null + ? defaultSystemJavabaseDir.toString() + : javaHome.toString()); for (EnvironmentExtension extension : environmentExtensions) { extension.updateWorkspace(workspaceEnv); |