Merge the action input prefetcher into the ExecutorBuilder.
This should be a no-op change, primarily intended to improve the BlazeModule
API. The code simplification in the distributor code path is incidental.
--
PiperOrigin-RevId: 144441458
MOS_MIGRATED_REVID=144441458
diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
index 3975215..c332127 100644
--- a/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
+++ b/src/main/java/com/google/devtools/build/lib/buildtool/ExecutionTool.java
@@ -64,6 +64,7 @@
import com.google.devtools.build.lib.events.Reporter;
import com.google.devtools.build.lib.exec.ActionContextConsumer;
import com.google.devtools.build.lib.exec.ActionContextProvider;
+import com.google.devtools.build.lib.exec.ActionInputPrefetcher;
import com.google.devtools.build.lib.exec.BlazeExecutor;
import com.google.devtools.build.lib.exec.CheckUpToDateFilter;
import com.google.devtools.build.lib.exec.ExecutionOptions;
@@ -170,6 +171,7 @@
private final BuildRequest request;
private BlazeExecutor executor;
private final ActionInputFileCache fileCache;
+ private final ActionInputPrefetcher prefetcher;
private final ImmutableList<ActionContextProvider> actionContextProviders;
private Map<String, SpawnActionContext> spawnStrategyMap =
@@ -223,8 +225,13 @@
env.getExecRoot().getPathString(), env.getDirectories().getFileSystem());
}
this.fileCache = cache;
+ this.prefetcher = builder.getActionInputPrefetcher();
this.actionContextProviders = builder.getActionContextProviders();
+ for (ActionContextProvider provider : actionContextProviders) {
+ provider.init(fileCache, prefetcher);
+ }
+
StrategyConverter strategyConverter = new StrategyConverter(actionContextProviders);
for (ActionContextConsumer consumer : builder.getActionContextConsumers()) {
@@ -398,10 +405,7 @@
boolean buildCompleted = false;
try {
for (ActionContextProvider actionContextProvider : actionContextProviders) {
- actionContextProvider.executionPhaseStarting(
- fileCache,
- actionGraph,
- allArtifactsForProviders);
+ actionContextProvider.executionPhaseStarting(actionGraph, allArtifactsForProviders);
}
executor.executionPhaseStarting();
skyframeExecutor.drainChangedFiles();