aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
index f896545fd2..bdc8652973 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
@@ -28,6 +28,7 @@ import com.google.common.util.concurrent.Uninterruptibles;
import com.google.devtools.build.lib.analysis.BlazeDirectories;
import com.google.devtools.build.lib.analysis.BlazeVersionInfo;
import com.google.devtools.build.lib.analysis.ConfiguredRuleClassProvider;
+import com.google.devtools.build.lib.analysis.ServerDirectories;
import com.google.devtools.build.lib.analysis.config.BinTools;
import com.google.devtools.build.lib.analysis.config.BuildOptions;
import com.google.devtools.build.lib.analysis.config.ConfigurationFactory;
@@ -916,10 +917,11 @@ public final class BlazeRuntime {
Predicates.notNull()));
}
+ ServerDirectories serverDirectories =
+ new ServerDirectories(installBasePath, outputBasePath, startupOptions.installMD5);
BlazeDirectories directories =
- new BlazeDirectories(installBasePath, outputBasePath, workspaceDirectoryPath,
- startupOptions.deepExecRoot, startupOptions.installMD5,
- productName);
+ new BlazeDirectories(
+ serverDirectories, workspaceDirectoryPath, startupOptions.deepExecRoot, productName);
Clock clock = BlazeClock.instance();
@@ -934,6 +936,7 @@ public final class BlazeRuntime {
BlazeRuntime.Builder runtimeBuilder = new BlazeRuntime.Builder()
.setProductName(productName)
+ .setServerDirectories(serverDirectories)
.setDirectories(directories)
.setStartupOptionsProvider(options)
.setBinTools(binTools)
@@ -1027,6 +1030,7 @@ public final class BlazeRuntime {
* an exception. Please plan appropriately.
*/
public static class Builder {
+ private ServerDirectories serverDirectories;
private BlazeDirectories directories;
private Clock clock;
private OptionsProvider startupOptionsProvider;
@@ -1038,6 +1042,7 @@ public final class BlazeRuntime {
public BlazeRuntime build() throws AbruptExitException {
Preconditions.checkNotNull(productName);
+ Preconditions.checkNotNull(serverDirectories);
Preconditions.checkNotNull(directories);
Preconditions.checkNotNull(startupOptionsProvider);
Clock clock = (this.clock == null) ? BlazeClock.instance() : this.clock;
@@ -1047,7 +1052,7 @@ public final class BlazeRuntime {
for (BlazeModule module : blazeModules) {
module.blazeStartup(startupOptionsProvider,
- BlazeVersionInfo.instance(), instanceId, directories, clock);
+ BlazeVersionInfo.instance(), instanceId, serverDirectories, clock);
}
ServerBuilder serverBuilder = new ServerBuilder();
for (BlazeModule module : blazeModules) {
@@ -1070,7 +1075,7 @@ public final class BlazeRuntime {
Package.Builder.Helper packageBuilderHelper = null;
for (BlazeModule module : blazeModules) {
Package.Builder.Helper candidateHelper =
- module.getPackageBuilderHelper(ruleClassProvider, directories.getFileSystem());
+ module.getPackageBuilderHelper(ruleClassProvider, serverDirectories.getFileSystem());
if (candidateHelper != null) {
Preconditions.checkState(packageBuilderHelper == null,
"more than one module defines a package builder helper");
@@ -1133,6 +1138,11 @@ public final class BlazeRuntime {
return this;
}
+ public Builder setServerDirectories(ServerDirectories serverDirectories) {
+ this.serverDirectories = serverDirectories;
+ return this;
+ }
+
public Builder setDirectories(BlazeDirectories directories) {
this.directories = directories;
return this;