diff options
author | ulfjack <ulfjack@google.com> | 2017-07-21 13:58:33 +0200 |
---|---|---|
committer | Jakob Buchgraber <buchgr@google.com> | 2017-07-24 09:51:02 +0200 |
commit | 7599a4d9fc11369821a6bb7f026d670163abc90e (patch) | |
tree | 34d0dc02020844bd5f02351f3ca95c38ac26eccc | |
parent | b69acfaa1c281ac2e8fd7450f07bb3735d24ae23 (diff) |
Add ActionInputPrefetcher to ActionExecutionContext
This is more consistent with other values, and removes the need to inject it
into the constructor of the various strategy implementations.
PiperOrigin-RevId: 162729187
19 files changed, 66 insertions, 54 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionExecutionContext.java b/src/main/java/com/google/devtools/build/lib/actions/ActionExecutionContext.java index 4359349581..816eb10595 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/ActionExecutionContext.java +++ b/src/main/java/com/google/devtools/build/lib/actions/ActionExecutionContext.java @@ -41,6 +41,7 @@ public class ActionExecutionContext implements Closeable { private final Executor executor; private final ActionInputFileCache actionInputFileCache; + private final ActionInputPrefetcher actionInputPrefetcher; private final MetadataHandler metadataHandler; private final FileOutErr fileOutErr; private final ImmutableMap<String, String> clientEnv; @@ -51,12 +52,14 @@ public class ActionExecutionContext implements Closeable { private ActionExecutionContext( Executor executor, ActionInputFileCache actionInputFileCache, + ActionInputPrefetcher actionInputPrefetcher, MetadataHandler metadataHandler, FileOutErr fileOutErr, Map<String, String> clientEnv, @Nullable ArtifactExpander artifactExpander, @Nullable SkyFunction.Environment env) { this.actionInputFileCache = actionInputFileCache; + this.actionInputPrefetcher = actionInputPrefetcher; this.metadataHandler = metadataHandler; this.fileOutErr = fileOutErr; this.clientEnv = ImmutableMap.copyOf(clientEnv); @@ -68,6 +71,7 @@ public class ActionExecutionContext implements Closeable { public ActionExecutionContext( Executor executor, ActionInputFileCache actionInputFileCache, + ActionInputPrefetcher actionInputPrefetcher, MetadataHandler metadataHandler, FileOutErr fileOutErr, Map<String, String> clientEnv, @@ -75,6 +79,7 @@ public class ActionExecutionContext implements Closeable { this( executor, actionInputFileCache, + actionInputPrefetcher, metadataHandler, fileOutErr, clientEnv, @@ -82,32 +87,27 @@ public class ActionExecutionContext implements Closeable { null); } - public static ActionExecutionContext normal( + public static ActionExecutionContext forInputDiscovery( Executor executor, ActionInputFileCache actionInputFileCache, + ActionInputPrefetcher actionInputPrefetcher, MetadataHandler metadataHandler, FileOutErr fileOutErr, Map<String, String> clientEnv, - ArtifactExpander artifactExpander) { + Environment env) { return new ActionExecutionContext( executor, actionInputFileCache, + actionInputPrefetcher, metadataHandler, fileOutErr, clientEnv, - artifactExpander, - null); + null, + env); } - public static ActionExecutionContext forInputDiscovery( - Executor executor, - ActionInputFileCache actionInputFileCache, - MetadataHandler metadataHandler, - FileOutErr fileOutErr, - Map<String, String> clientEnv, - Environment env) { - return new ActionExecutionContext( - executor, actionInputFileCache, metadataHandler, fileOutErr, clientEnv, null, env); + public ActionInputPrefetcher getActionInputPrefetcher() { + return actionInputPrefetcher; } public ActionInputFileCache getActionInputFileCache() { @@ -224,6 +224,7 @@ public class ActionExecutionContext implements Closeable { return new ActionExecutionContext( executor, actionInputFileCache, + actionInputPrefetcher, metadataHandler, fileOutErr, clientEnv, 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 bd44d70446..ef87660e9e 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 @@ -681,6 +681,7 @@ public class ExecutionTool { : ModifiedFileSet.NOTHING_MODIFIED, options.finalizeActions, fileCache, + prefetcher, request.getBuildOptions().progressReportInterval); } diff --git a/src/main/java/com/google/devtools/build/lib/buildtool/SkyframeBuilder.java b/src/main/java/com/google/devtools/build/lib/buildtool/SkyframeBuilder.java index dc398a474d..c8cde04074 100644 --- a/src/main/java/com/google/devtools/build/lib/buildtool/SkyframeBuilder.java +++ b/src/main/java/com/google/devtools/build/lib/buildtool/SkyframeBuilder.java @@ -22,6 +22,7 @@ import com.google.devtools.build.lib.actions.ActionCacheChecker; import com.google.devtools.build.lib.actions.ActionExecutionException; import com.google.devtools.build.lib.actions.ActionExecutionStatusReporter; import com.google.devtools.build.lib.actions.ActionInputFileCache; +import com.google.devtools.build.lib.actions.ActionInputPrefetcher; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.BuildFailedException; import com.google.devtools.build.lib.actions.Executor; @@ -70,6 +71,7 @@ public class SkyframeBuilder implements Builder { private final boolean finalizeActionsToOutputService; private final ModifiedFileSet modifiedOutputFiles; private final ActionInputFileCache fileCache; + private final ActionInputPrefetcher actionInputPrefetcher; private final ActionCacheChecker actionCacheChecker; private final int progressReportInterval; @@ -77,7 +79,7 @@ public class SkyframeBuilder implements Builder { public SkyframeBuilder(SkyframeExecutor skyframeExecutor, ActionCacheChecker actionCacheChecker, boolean keepGoing, int numJobs, ModifiedFileSet modifiedOutputFiles, boolean finalizeActionsToOutputService, ActionInputFileCache fileCache, - int progressReportInterval) { + ActionInputPrefetcher actionInputPrefetcher, int progressReportInterval) { this.skyframeExecutor = skyframeExecutor; this.actionCacheChecker = actionCacheChecker; this.keepGoing = keepGoing; @@ -85,6 +87,7 @@ public class SkyframeBuilder implements Builder { this.finalizeActionsToOutputService = finalizeActionsToOutputService; this.modifiedOutputFiles = modifiedOutputFiles; this.fileCache = fileCache; + this.actionInputPrefetcher = actionInputPrefetcher; this.progressReportInterval = progressReportInterval; } @@ -103,7 +106,7 @@ public class SkyframeBuilder implements Builder { TopLevelArtifactContext topLevelArtifactContext) throws BuildFailedException, AbruptExitException, TestExecException, InterruptedException { skyframeExecutor.prepareExecution(modifiedOutputFiles, lastExecutionTimeRange); - skyframeExecutor.setFileCache(fileCache); + skyframeExecutor.configureActionExecutor(fileCache, actionInputPrefetcher); // Note that executionProgressReceiver accesses builtTargets concurrently (after wrapping in a // synchronized collection), so unsynchronized access to this variable is unsafe while it runs. ExecutionProgressReceiver executionProgressReceiver = diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteActionContextProvider.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteActionContextProvider.java index d48cd8c0d6..99448b8377 100644 --- a/src/main/java/com/google/devtools/build/lib/remote/RemoteActionContextProvider.java +++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteActionContextProvider.java @@ -39,7 +39,6 @@ final class RemoteActionContextProvider extends ActionContextProvider { private final RemoteActionCache cache; private final GrpcRemoteExecutor executor; - private RemoteSpawnRunner spawnRunner; private RemoteSpawnStrategy spawnStrategy; diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java index be611c8757..1f4b1188c4 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeActionExecutor.java @@ -35,6 +35,7 @@ import com.google.devtools.build.lib.actions.ActionExecutionStatusReporter; import com.google.devtools.build.lib.actions.ActionGraph; import com.google.devtools.build.lib.actions.ActionInput; import com.google.devtools.build.lib.actions.ActionInputFileCache; +import com.google.devtools.build.lib.actions.ActionInputPrefetcher; import com.google.devtools.build.lib.actions.ActionLogBufferPathGenerator; import com.google.devtools.build.lib.actions.ActionLookupData; import com.google.devtools.build.lib.actions.ActionLookupValue; @@ -142,6 +143,7 @@ public final class SkyframeActionExecutor implements ActionExecutionContextFacto private boolean keepGoing; private boolean hadExecutionError; private ActionInputFileCache perBuildFileCache; + private ActionInputPrefetcher actionInputPrefetcher; /** These variables are nulled out between executions. */ private ProgressSupplier progressSupplier; private ActionCompletedReceiver completionReceiver; @@ -463,6 +465,7 @@ public final class SkyframeActionExecutor implements ActionExecutionContextFacto return new ActionExecutionContext( executorEngine, new DelegatingPairFileCache(graphFileCache, perBuildFileCache), + actionInputPrefetcher, metadataHandler, fileOutErr, clientEnv, @@ -571,6 +574,7 @@ public final class SkyframeActionExecutor implements ActionExecutionContextFacto ActionExecutionContext.forInputDiscovery( executorEngine, new DelegatingPairFileCache(graphFileCache, perBuildFileCache), + actionInputPrefetcher, metadataHandler, actionLogBufferPathGenerator.generate(), clientEnv, @@ -605,8 +609,9 @@ public final class SkyframeActionExecutor implements ActionExecutionContextFacto return hadExecutionError && !keepGoing; } - void setFileCache(ActionInputFileCache fileCache) { + void configure(ActionInputFileCache fileCache, ActionInputPrefetcher actionInputPrefetcher) { this.perBuildFileCache = fileCache; + this.actionInputPrefetcher = actionInputPrefetcher; } private class ActionRunner implements Callable<ActionExecutionValue> { diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java index b37a1ed163..c1feb56a85 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeExecutor.java @@ -41,6 +41,7 @@ import com.google.devtools.build.lib.actions.ActionExecutionContextFactory; import com.google.devtools.build.lib.actions.ActionExecutionStatusReporter; import com.google.devtools.build.lib.actions.ActionGraph; import com.google.devtools.build.lib.actions.ActionInputFileCache; +import com.google.devtools.build.lib.actions.ActionInputPrefetcher; import com.google.devtools.build.lib.actions.ActionLogBufferPathGenerator; import com.google.devtools.build.lib.actions.ActionLookupValue; import com.google.devtools.build.lib.actions.Artifact; @@ -522,8 +523,9 @@ public abstract class SkyframeExecutor implements WalkableGraphFactory { Preconditions.checkState(active); } - public void setFileCache(ActionInputFileCache fileCache) { - this.skyframeActionExecutor.setFileCache(fileCache); + public void configureActionExecutor( + ActionInputFileCache fileCache, ActionInputPrefetcher actionInputPrefetcher) { + this.skyframeActionExecutor.configure(fileCache, actionInputPrefetcher); } public void dump(boolean summarize, PrintStream out) { diff --git a/src/main/java/com/google/devtools/build/lib/standalone/StandaloneActionContextProvider.java b/src/main/java/com/google/devtools/build/lib/standalone/StandaloneActionContextProvider.java index 9300b5f9b7..ba42ed9965 100644 --- a/src/main/java/com/google/devtools/build/lib/standalone/StandaloneActionContextProvider.java +++ b/src/main/java/com/google/devtools/build/lib/standalone/StandaloneActionContextProvider.java @@ -13,13 +13,10 @@ // limitations under the License. package com.google.devtools.build.lib.standalone; -import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.Action; import com.google.devtools.build.lib.actions.ActionContext; import com.google.devtools.build.lib.actions.ActionExecutionContext; -import com.google.devtools.build.lib.actions.ActionInputFileCache; -import com.google.devtools.build.lib.actions.ActionInputPrefetcher; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.ArtifactResolver; import com.google.devtools.build.lib.actions.ExecutionStrategy; @@ -67,19 +64,12 @@ public class StandaloneActionContextProvider extends ActionContextProvider { } private final CommandEnvironment env; - private ActionInputPrefetcher actionInputPrefetcher; public StandaloneActionContextProvider(CommandEnvironment env) { this.env = env; } @Override - public void init( - ActionInputFileCache actionInputFileCache, ActionInputPrefetcher actionInputPrefetcher) { - this.actionInputPrefetcher = Preconditions.checkNotNull(actionInputPrefetcher); - } - - @Override public Iterable<? extends ActionContext> getActionContexts() { ExecutionOptions executionOptions = env.getOptions().getOptions(ExecutionOptions.class); LocalExecutionOptions localExecutionOptions = @@ -98,7 +88,6 @@ public class StandaloneActionContextProvider extends ActionContextProvider { return ImmutableList.of( new StandaloneSpawnStrategy( env.getExecRoot(), - actionInputPrefetcher, localExecutionOptions, executionOptions.verboseFailures, env.getRuntime().getProductName(), diff --git a/src/main/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategy.java b/src/main/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategy.java index 82794d14a4..f62e2b7bdf 100644 --- a/src/main/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategy.java +++ b/src/main/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategy.java @@ -17,7 +17,6 @@ import com.google.common.eventbus.EventBus; import com.google.devtools.build.lib.actions.ActionExecutionContext; import com.google.devtools.build.lib.actions.ActionInput; import com.google.devtools.build.lib.actions.ActionInputFileCache; -import com.google.devtools.build.lib.actions.ActionInputPrefetcher; import com.google.devtools.build.lib.actions.ActionStatusMessage; import com.google.devtools.build.lib.actions.Artifact.ArtifactExpander; import com.google.devtools.build.lib.actions.ExecException; @@ -53,15 +52,12 @@ import java.util.concurrent.atomic.AtomicInteger; @ExecutionStrategy(name = { "standalone", "local" }, contextType = SpawnActionContext.class) public class StandaloneSpawnStrategy implements SpawnActionContext { private final boolean verboseFailures; - private final ActionInputPrefetcher actionInputPrefetcher; private final LocalSpawnRunner localSpawnRunner; private final AtomicInteger execCount = new AtomicInteger(); public StandaloneSpawnStrategy( - Path execRoot, ActionInputPrefetcher actionInputPrefetcher, - LocalExecutionOptions localExecutionOptions, boolean verboseFailures, String productName, - ResourceManager resourceManager) { - this.actionInputPrefetcher = actionInputPrefetcher; + Path execRoot, LocalExecutionOptions localExecutionOptions, boolean verboseFailures, + String productName, ResourceManager resourceManager) { this.verboseFailures = verboseFailures; LocalEnvProvider localEnvProvider = OS.getCurrent() == OS.DARWIN ? new XCodeLocalEnvProvider() @@ -93,7 +89,7 @@ public class StandaloneSpawnStrategy implements SpawnActionContext { @Override public void prefetchInputs(Iterable<ActionInput> inputs) throws IOException { if (Spawns.shouldPrefetchInputsForLocalExecution(spawn)) { - actionInputPrefetcher.prefetchFiles(inputs); + actionExecutionContext.getActionInputPrefetcher().prefetchFiles(inputs); } } diff --git a/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java b/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java index ee86d56a13..00f1211554 100644 --- a/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/actions/ExecutableSymlinkActionTest.java @@ -53,6 +53,7 @@ public class ExecutableSymlinkActionTest { return new ActionExecutionContext( executor, new SingleBuildFileCache(execRoot.getPathString(), execRoot.getFileSystem()), + ActionInputPrefetcher.NONE, null, outErr, ImmutableMap.<String, String>of(), null); } diff --git a/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java b/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java index fbab01ae3a..d1b796b5c0 100644 --- a/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java +++ b/src/test/java/com/google/devtools/build/lib/actions/util/ActionsTestUtil.java @@ -30,6 +30,7 @@ import com.google.devtools.build.lib.actions.ActionAnalysisMetadata; import com.google.devtools.build.lib.actions.ActionExecutionContext; import com.google.devtools.build.lib.actions.ActionGraph; import com.google.devtools.build.lib.actions.ActionInputHelper; +import com.google.devtools.build.lib.actions.ActionInputPrefetcher; import com.google.devtools.build.lib.actions.ActionOwner; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.Artifact.ArtifactExpander; @@ -102,6 +103,7 @@ public final class ActionsTestUtil { return new ActionExecutionContext( executor, new SingleBuildFileCache(execRoot.getPathString(), execRoot.getFileSystem()), + ActionInputPrefetcher.NONE, metadataHandler, fileOutErr, ImmutableMap.<String, String>copyOf(clientEnv), @@ -116,6 +118,7 @@ public final class ActionsTestUtil { return ActionExecutionContext.forInputDiscovery( executor, new SingleBuildFileCache(execRoot.getPathString(), execRoot.getFileSystem()), + ActionInputPrefetcher.NONE, metadataHandler, fileOutErr, ImmutableMap.<String, String>of(), @@ -126,8 +129,8 @@ public final class ActionsTestUtil { public static ActionExecutionContext createContext(EventHandler eventHandler) { DummyExecutor dummyExecutor = new DummyExecutor(eventHandler); return new ActionExecutionContext( - dummyExecutor, null, null, null, ImmutableMap.<String, String>of(), - createDummyArtifactExpander()); + dummyExecutor, null, ActionInputPrefetcher.NONE, null, null, + ImmutableMap.<String, String>of(), createDummyArtifactExpander()); } private static ArtifactExpander createDummyArtifactExpander() { diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/FileWriteActionTestCase.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/FileWriteActionTestCase.java index 2eb06f24c3..18da00814e 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/actions/FileWriteActionTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/FileWriteActionTestCase.java @@ -21,6 +21,7 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import com.google.devtools.build.lib.actions.Action; import com.google.devtools.build.lib.actions.ActionExecutionContext; +import com.google.devtools.build.lib.actions.ActionInputPrefetcher; import com.google.devtools.build.lib.actions.ActionOwner; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.Executor; @@ -52,8 +53,8 @@ public abstract class FileWriteActionTestCase extends BuildViewTestCase { @Before public final void createExecutorAndContext() throws Exception { executor = new TestExecutorBuilder(directories, binTools).build(); - context = new ActionExecutionContext(executor, null, null, new FileOutErr(), - ImmutableMap.<String, String>of(), null); + context = new ActionExecutionContext(executor, null, ActionInputPrefetcher.NONE, null, + new FileOutErr(), ImmutableMap.<String, String>of(), null); } protected abstract Action createAction( diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java index 8711b47a4b..0520b7ae3c 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/ParamFileWriteActionTest.java @@ -20,6 +20,7 @@ import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.actions.Action; import com.google.devtools.build.lib.actions.ActionExecutionContext; import com.google.devtools.build.lib.actions.ActionInputHelper; +import com.google.devtools.build.lib.actions.ActionInputPrefetcher; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.Artifact.ArtifactExpander; import com.google.devtools.build.lib.actions.Artifact.SpecialArtifact; @@ -160,7 +161,7 @@ public class ParamFileWriteActionTest extends BuildViewTestCase { }; Executor executor = new TestExecutorBuilder(directories, binTools).build(); - return new ActionExecutionContext(executor, null, null, new FileOutErr(), - ImmutableMap.<String, String>of(), artifactExpander); + return new ActionExecutionContext(executor, null, ActionInputPrefetcher.NONE, null, + new FileOutErr(), ImmutableMap.<String, String>of(), artifactExpander); } } diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java index e4b42a7c14..ffc6596441 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactActionTest.java @@ -24,6 +24,7 @@ import com.google.devtools.build.lib.actions.Action; import com.google.devtools.build.lib.actions.ActionExecutionContext; import com.google.devtools.build.lib.actions.ActionExecutionException; import com.google.devtools.build.lib.actions.ActionInput; +import com.google.devtools.build.lib.actions.ActionInputPrefetcher; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.Artifact.SpecialArtifact; import com.google.devtools.build.lib.actions.Artifact.SpecialArtifactType; @@ -324,6 +325,7 @@ public class PopulateTreeArtifactActionTest extends BuildViewTestCase { return new ActionExecutionContext( executor, null, + ActionInputPrefetcher.NONE, new TestMetadataHandler(storingExpandedTreeFileArtifacts), null, ImmutableMap.<String, String>of(), diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java index ef88e3e8b9..e0ae5308af 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/SymlinkActionTest.java @@ -18,6 +18,7 @@ import static com.google.devtools.build.lib.actions.util.ActionsTestUtil.NULL_AC import com.google.common.collect.ImmutableMap; import com.google.devtools.build.lib.actions.ActionExecutionContext; +import com.google.devtools.build.lib.actions.ActionInputPrefetcher; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.Executor; import com.google.devtools.build.lib.analysis.util.BuildViewTestCase; @@ -72,8 +73,8 @@ public class SymlinkActionTest extends BuildViewTestCase { @Test public void testSymlink() throws Exception { Executor executor = new TestExecutorBuilder(directories, null).build(); - action.execute(new ActionExecutionContext(executor, null, null, null, - ImmutableMap.<String, String>of(), null)); + action.execute(new ActionExecutionContext(executor, null, ActionInputPrefetcher.NONE, null, + null, ImmutableMap.<String, String>of(), null)); assertThat(output.isSymbolicLink()).isTrue(); assertThat(output.resolveSymbolicLinks()).isEqualTo(input); assertThat(action.getPrimaryInput()).isEqualTo(inputArtifact); diff --git a/src/test/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionActionTest.java b/src/test/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionActionTest.java index 84ba3db8b5..b68b4bff05 100644 --- a/src/test/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionActionTest.java @@ -21,6 +21,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.Lists; import com.google.devtools.build.lib.actions.ActionExecutionContext; +import com.google.devtools.build.lib.actions.ActionInputPrefetcher; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.Executor; import com.google.devtools.build.lib.actions.Root; @@ -170,8 +171,8 @@ public class TemplateExpansionActionTest extends FoundationTestCase { } private ActionExecutionContext createContext(Executor executor) { - return new ActionExecutionContext(executor, null, null, new FileOutErr(), - ImmutableMap.<String, String>of(), null); + return new ActionExecutionContext(executor, null, ActionInputPrefetcher.NONE, null, + new FileOutErr(), ImmutableMap.<String, String>of(), null); } private void executeTemplateExpansion(String expected) throws Exception { diff --git a/src/test/java/com/google/devtools/build/lib/rules/cpp/LTOBackendActionTest.java b/src/test/java/com/google/devtools/build/lib/rules/cpp/LTOBackendActionTest.java index 4b2bebf212..9e87bc22d8 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/cpp/LTOBackendActionTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/cpp/LTOBackendActionTest.java @@ -20,6 +20,7 @@ import com.google.common.collect.ImmutableSet; import com.google.devtools.build.lib.actions.AbstractAction; import com.google.devtools.build.lib.actions.Action; import com.google.devtools.build.lib.actions.ActionExecutionContext; +import com.google.devtools.build.lib.actions.ActionInputPrefetcher; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.Executor; import com.google.devtools.build.lib.actions.util.ActionsTestUtil; @@ -75,8 +76,8 @@ public class LTOBackendActionTest extends BuildViewTestCase { @Before public final void createExecutorAndContext() throws Exception { executor = new TestExecutorBuilder(directories, binTools).build(); - context = new ActionExecutionContext(executor, null, null, new FileOutErr(), - ImmutableMap.<String, String>of(), null); + context = new ActionExecutionContext(executor, null, ActionInputPrefetcher.NONE, null, + new FileOutErr(), ImmutableMap.<String, String>of(), null); } @Test diff --git a/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java b/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java index 0a3e2a7068..4c562df429 100644 --- a/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java +++ b/src/test/java/com/google/devtools/build/lib/rules/objc/BazelJ2ObjcLibraryTest.java @@ -22,6 +22,7 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.devtools.build.lib.actions.AbstractAction; import com.google.devtools.build.lib.actions.ActionExecutionContext; +import com.google.devtools.build.lib.actions.ActionInputPrefetcher; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.CommandAction; import com.google.devtools.build.lib.analysis.ConfiguredTarget; @@ -673,7 +674,8 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { ActionExecutionContext dummyActionExecutionContext = new ActionExecutionContext( - null, null, null, null, ImmutableMap.<String, String>of(), DUMMY_ARTIFACT_EXPANDER); + null, null, ActionInputPrefetcher.NONE, null, null, ImmutableMap.<String, String>of(), + DUMMY_ARTIFACT_EXPANDER); ByteArrayOutputStream moduleMapStream = new ByteArrayOutputStream(); ByteArrayOutputStream umbrellaHeaderStream = new ByteArrayOutputStream(); moduleMapAction.newDeterministicWriter(dummyActionExecutionContext) @@ -715,7 +717,8 @@ public class BazelJ2ObjcLibraryTest extends J2ObjcLibraryTest { ActionExecutionContext dummyActionExecutionContext = new ActionExecutionContext( - null, null, null, null, ImmutableMap.<String, String>of(), DUMMY_ARTIFACT_EXPANDER); + null, null, ActionInputPrefetcher.NONE, null, null, ImmutableMap.<String, String>of(), + DUMMY_ARTIFACT_EXPANDER); ByteArrayOutputStream moduleMapStream = new ByteArrayOutputStream(); ByteArrayOutputStream umbrellaHeaderStream = new ByteArrayOutputStream(); diff --git a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java index 1713e7e87d..64ee5df3e2 100644 --- a/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java +++ b/src/test/java/com/google/devtools/build/lib/skyframe/TimestampBuilderTestCase.java @@ -32,6 +32,7 @@ import com.google.devtools.build.lib.actions.ActionExecutionContext; import com.google.devtools.build.lib.actions.ActionExecutionException; import com.google.devtools.build.lib.actions.ActionExecutionStatusReporter; import com.google.devtools.build.lib.actions.ActionInputFileCache; +import com.google.devtools.build.lib.actions.ActionInputPrefetcher; import com.google.devtools.build.lib.actions.ActionLogBufferPathGenerator; import com.google.devtools.build.lib.actions.ActionLookupData; import com.google.devtools.build.lib.actions.ActionLookupValue; @@ -176,7 +177,7 @@ public abstract class TimestampBuilderTestCase extends FoundationTestCase { ActionInputFileCache cache = new SingleBuildFileCache( rootDirectory.getPathString(), scratch.getFileSystem()); - skyframeActionExecutor.setFileCache(cache); + skyframeActionExecutor.configure(cache, ActionInputPrefetcher.NONE); final InMemoryMemoizingEvaluator evaluator = new InMemoryMemoizingEvaluator( diff --git a/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java b/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java index 0b40e50ee6..0aa7695b5d 100644 --- a/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java +++ b/src/test/java/com/google/devtools/build/lib/standalone/StandaloneSpawnStrategyTest.java @@ -128,8 +128,8 @@ public class StandaloneSpawnStrategyTest { ImmutableMap.<String, SpawnActionContext>of( "", new StandaloneSpawnStrategy( - execRoot, ActionInputPrefetcher.NONE, localExecutionOptions, - /*verboseFailures=*/false, "mock-product-name", resourceManager)), + execRoot, localExecutionOptions, /*verboseFailures=*/false, "mock-product-name", + resourceManager)), ImmutableList.<ActionContextProvider>of()); executor.getExecRoot().createDirectory(); @@ -167,6 +167,7 @@ public class StandaloneSpawnStrategyTest { return new ActionExecutionContext( executor, new SingleBuildFileCache(execRoot.getPathString(), execRoot.getFileSystem()), + ActionInputPrefetcher.NONE, null, outErr, ImmutableMap.<String, String>of(), |