Rename SpawnActionContext to SpawnStrategy.
This is in preparation for splitting SpawnStrategy from ActionContext and making it a separate entity.
RELNOTES: None
PiperOrigin-RevId: 290328486
diff --git a/src/main/java/com/google/devtools/build/lib/actions/DynamicStrategyRegistry.java b/src/main/java/com/google/devtools/build/lib/actions/DynamicStrategyRegistry.java
index b81c508..edd69f1 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/DynamicStrategyRegistry.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/DynamicStrategyRegistry.java
@@ -26,11 +26,10 @@
}
/**
- * Returns the spawn strategy implementations that {@linkplain SpawnActionContext#canExec can
- * execute} the given spawn in the order that they were registered for the provided dynamic mode.
+ * Returns the spawn strategy implementations that {@linkplain SpawnStrategy#canExec can execute}
+ * the given spawn in the order that they were registered for the provided dynamic mode.
*/
- List<SandboxedSpawnActionContext> getDynamicSpawnActionContexts(
- Spawn spawn, DynamicMode dynamicMode);
+ List<SandboxedSpawnStrategy> getDynamicSpawnActionContexts(Spawn spawn, DynamicMode dynamicMode);
/**
* Notifies all strategies applying to at least one mnemonic (including the empty all-catch one)
diff --git a/src/main/java/com/google/devtools/build/lib/actions/SandboxedSpawnActionContext.java b/src/main/java/com/google/devtools/build/lib/actions/SandboxedSpawnStrategy.java
similarity index 74%
rename from src/main/java/com/google/devtools/build/lib/actions/SandboxedSpawnActionContext.java
rename to src/main/java/com/google/devtools/build/lib/actions/SandboxedSpawnStrategy.java
index 4de6e8f..6fcd3ed 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/SandboxedSpawnActionContext.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/SandboxedSpawnStrategy.java
@@ -18,12 +18,12 @@
import javax.annotation.Nullable;
/**
- * A context that allows execution of {@link Spawn} instances similar to {@link SpawnActionContext},
- * but with the additional restriction that during execution the {@link Spawn} must not be allowed
- * to modify the current execution root of the build. Instead, the {@link Spawn} should be executed
- * in a sandbox or on a remote system and its output files only be moved to the execution root.
+ * A context that allows execution of {@link Spawn} instances similar to {@link SpawnStrategy}, but
+ * with the additional restriction that during execution the {@link Spawn} must not be allowed to
+ * modify the current execution root of the build. Instead, the {@link Spawn} should be executed in
+ * a sandbox or on a remote system and its output files only be moved to the execution root.
*/
-public interface SandboxedSpawnActionContext extends SpawnActionContext {
+public interface SandboxedSpawnStrategy extends SpawnStrategy {
/** Lambda interface to stop other instances of the same spawn before writing outputs. */
@FunctionalInterface
@@ -40,10 +40,9 @@
/**
* Executes the given spawn.
*
- * <p>When the {@link SpawnActionContext} is about to write output files into the execroot, it
- * first asks any other concurrent instances of this same spawn (handled by other spawn runners
- * when dynamic scheduling is enabled) to stop by invoking the {@code stopConcurrentSpawns}
- * lambda.
+ * <p>When the {@link SpawnStrategy} is about to write output files into the execroot, it first
+ * asks any other concurrent instances of this same spawn (handled by other spawn runners when
+ * dynamic scheduling is enabled) to stop by invoking the {@code stopConcurrentSpawns} lambda.
*
* @return a List of {@link SpawnResult}s containing metadata about the Spawn's execution. This
* will typically contain one element, but could contain no elements if spawn execution did
diff --git a/src/main/java/com/google/devtools/build/lib/actions/SpawnActionContext.java b/src/main/java/com/google/devtools/build/lib/actions/SpawnStrategy.java
similarity index 93%
rename from src/main/java/com/google/devtools/build/lib/actions/SpawnActionContext.java
rename to src/main/java/com/google/devtools/build/lib/actions/SpawnStrategy.java
index 8d31ec0..d0ef44c 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/SpawnActionContext.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/SpawnStrategy.java
@@ -15,11 +15,9 @@
import com.google.common.collect.ImmutableList;
-/**
- * A context that allows execution of {@link Spawn} instances.
- */
+/** A context that allows execution of {@link Spawn} instances. */
@ActionContextMarker(name = "spawn")
-public interface SpawnActionContext extends ActionContext {
+public interface SpawnStrategy extends ActionContext {
/**
* Executes the given spawn and returns metadata about the execution. Implementations must
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
index d518b98..31955b7 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
@@ -54,9 +54,9 @@
import com.google.devtools.build.lib.actions.RunfilesSupplier;
import com.google.devtools.build.lib.actions.SingleStringArgFormatter;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnContinuation;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.actions.extra.EnvironmentVariable;
import com.google.devtools.build.lib.actions.extra.ExtraActionInfo;
import com.google.devtools.build.lib.actions.extra.SpawnInfo;
@@ -326,7 +326,7 @@
}
SpawnContinuation spawnContinuation =
actionExecutionContext
- .getContext(SpawnActionContext.class)
+ .getContext(SpawnStrategy.class)
.beginExecution(spawn, actionExecutionContext);
return new SpawnActionContinuation(actionExecutionContext, spawnContinuation);
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/extra/ExtraAction.java b/src/main/java/com/google/devtools/build/lib/analysis/extra/ExtraAction.java
index a71f8a9..e53a48d 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/extra/ExtraAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/extra/ExtraAction.java
@@ -30,8 +30,8 @@
import com.google.devtools.build.lib.actions.CommandLines.CommandLineLimits;
import com.google.devtools.build.lib.actions.CompositeRunfilesSupplier;
import com.google.devtools.build.lib.actions.RunfilesSupplier;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.analysis.actions.SpawnAction;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
@@ -45,7 +45,7 @@
/**
* Action used by extra_action rules to create an action that shadows an existing action. Runs a
- * command-line using {@link SpawnActionContext} for executions.
+ * command-line using {@link SpawnStrategy} for executions.
*/
public final class ExtraAction extends SpawnAction {
private final Action shadowedAction;
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/coverage/CoverageReportActionBuilder.java b/src/main/java/com/google/devtools/build/lib/bazel/coverage/CoverageReportActionBuilder.java
index 8cd026b..3992a75 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/coverage/CoverageReportActionBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/coverage/CoverageReportActionBuilder.java
@@ -35,8 +35,8 @@
import com.google.devtools.build.lib.actions.ResourceSet;
import com.google.devtools.build.lib.actions.RunfilesSupplier;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.analysis.BlazeDirectories;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.FilesToRunProvider;
@@ -131,7 +131,8 @@
this,
LOCAL_RESOURCES);
List<SpawnResult> spawnResults =
- actionExecutionContext.getContext(SpawnActionContext.class)
+ actionExecutionContext
+ .getContext(SpawnStrategy.class)
.exec(spawn, actionExecutionContext);
actionExecutionContext.getEventHandler().handle(Event.info(locationMessage));
return ActionResult.create(spawnResults);
diff --git a/src/main/java/com/google/devtools/build/lib/dynamic/DynamicExecutionModule.java b/src/main/java/com/google/devtools/build/lib/dynamic/DynamicExecutionModule.java
index eefd43c..d7126c8 100644
--- a/src/main/java/com/google/devtools/build/lib/dynamic/DynamicExecutionModule.java
+++ b/src/main/java/com/google/devtools/build/lib/dynamic/DynamicExecutionModule.java
@@ -22,7 +22,7 @@
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.google.devtools.build.lib.actions.ExecutorInitException;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.actions.Spawns;
import com.google.devtools.build.lib.buildtool.BuildRequest;
import com.google.devtools.build.lib.concurrent.ExecutorUtil;
@@ -114,16 +114,16 @@
if (options.legacySpawnScheduler) {
builder.addActionContext(
- SpawnActionContext.class,
+ SpawnStrategy.class,
new LegacyDynamicSpawnStrategy(executorService, options, this::getExecutionPolicy),
COMMANDLINE_IDENTIFIERS);
} else {
builder.addActionContext(
- SpawnActionContext.class,
+ SpawnStrategy.class,
new DynamicSpawnStrategy(executorService, options, this::getExecutionPolicy),
COMMANDLINE_IDENTIFIERS);
}
- builder.addStrategyByContext(SpawnActionContext.class, "dynamic");
+ builder.addStrategyByContext(SpawnStrategy.class, "dynamic");
for (Map.Entry<String, List<String>> mnemonicToStrategies : getLocalStrategies(options)) {
throwIfContainsDynamic(mnemonicToStrategies.getValue(), "--dynamic_local_strategy");
diff --git a/src/main/java/com/google/devtools/build/lib/dynamic/DynamicSpawnStrategy.java b/src/main/java/com/google/devtools/build/lib/dynamic/DynamicSpawnStrategy.java
index 7442c61..6b9c3c9 100644
--- a/src/main/java/com/google/devtools/build/lib/dynamic/DynamicSpawnStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/dynamic/DynamicSpawnStrategy.java
@@ -26,11 +26,11 @@
import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.DynamicStrategyRegistry;
import com.google.devtools.build.lib.actions.ExecException;
-import com.google.devtools.build.lib.actions.SandboxedSpawnActionContext;
-import com.google.devtools.build.lib.actions.SandboxedSpawnActionContext.StopConcurrentSpawns;
+import com.google.devtools.build.lib.actions.SandboxedSpawnStrategy;
+import com.google.devtools.build.lib.actions.SandboxedSpawnStrategy.StopConcurrentSpawns;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.exec.ExecutionPolicy;
import com.google.devtools.build.lib.util.io.FileOutErr;
import com.google.devtools.build.lib.vfs.Path;
@@ -62,7 +62,7 @@
* save 0.5s of time, when it then takes us 5 seconds to upload the results to remote executors for
* another action that's scheduled to run there.
*/
-public class DynamicSpawnStrategy implements SpawnActionContext {
+public class DynamicSpawnStrategy implements SpawnStrategy {
private static final Logger logger = Logger.getLogger(DynamicSpawnStrategy.class.getName());
@@ -330,14 +330,14 @@
public boolean canExec(Spawn spawn, ActionContextRegistry actionContextRegistry) {
DynamicStrategyRegistry dynamicStrategyRegistry =
actionContextRegistry.getContext(DynamicStrategyRegistry.class);
- for (SandboxedSpawnActionContext strategy :
+ for (SandboxedSpawnStrategy strategy :
dynamicStrategyRegistry.getDynamicSpawnActionContexts(
spawn, DynamicStrategyRegistry.DynamicMode.LOCAL)) {
if (strategy.canExec(spawn, actionContextRegistry)) {
return true;
}
}
- for (SandboxedSpawnActionContext strategy :
+ for (SandboxedSpawnStrategy strategy :
dynamicStrategyRegistry.getDynamicSpawnActionContexts(
spawn, DynamicStrategyRegistry.DynamicMode.REMOTE)) {
if (strategy.canExec(spawn, actionContextRegistry)) {
@@ -371,7 +371,7 @@
DynamicStrategyRegistry dynamicStrategyRegistry =
actionExecutionContext.getContext(DynamicStrategyRegistry.class);
- for (SandboxedSpawnActionContext strategy :
+ for (SandboxedSpawnStrategy strategy :
dynamicStrategyRegistry.getDynamicSpawnActionContexts(
spawn, DynamicStrategyRegistry.DynamicMode.LOCAL)) {
return strategy.exec(spawn, actionExecutionContext, stopConcurrentSpawns);
@@ -388,7 +388,7 @@
DynamicStrategyRegistry dynamicStrategyRegistry =
actionExecutionContext.getContext(DynamicStrategyRegistry.class);
- for (SandboxedSpawnActionContext strategy :
+ for (SandboxedSpawnStrategy strategy :
dynamicStrategyRegistry.getDynamicSpawnActionContexts(
spawn, DynamicStrategyRegistry.DynamicMode.REMOTE)) {
return strategy.exec(spawn, actionExecutionContext, stopConcurrentSpawns);
diff --git a/src/main/java/com/google/devtools/build/lib/dynamic/LegacyDynamicSpawnStrategy.java b/src/main/java/com/google/devtools/build/lib/dynamic/LegacyDynamicSpawnStrategy.java
index 7205547..e459369 100644
--- a/src/main/java/com/google/devtools/build/lib/dynamic/LegacyDynamicSpawnStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/dynamic/LegacyDynamicSpawnStrategy.java
@@ -25,11 +25,11 @@
import com.google.devtools.build.lib.actions.EnvironmentalExecException;
import com.google.devtools.build.lib.actions.ExecException;
import com.google.devtools.build.lib.actions.ExecutionRequirements;
-import com.google.devtools.build.lib.actions.SandboxedSpawnActionContext;
-import com.google.devtools.build.lib.actions.SandboxedSpawnActionContext.StopConcurrentSpawns;
+import com.google.devtools.build.lib.actions.SandboxedSpawnStrategy;
+import com.google.devtools.build.lib.actions.SandboxedSpawnStrategy.StopConcurrentSpawns;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.actions.Spawns;
import com.google.devtools.build.lib.actions.UserExecException;
import com.google.devtools.build.lib.events.Event;
@@ -62,7 +62,7 @@
* save 0.5s of time, when it then takes us 5 seconds to upload the results to remote executors for
* another action that's scheduled to run there.
*/
-public class LegacyDynamicSpawnStrategy implements SpawnActionContext {
+public class LegacyDynamicSpawnStrategy implements SpawnStrategy {
private static final Logger logger = Logger.getLogger(DynamicSpawnStrategy.class.getName());
enum StrategyIdentifier {
@@ -118,7 +118,7 @@
private final AtomicBoolean delayLocalExecution = new AtomicBoolean(false);
// TODO(steinman): This field is never assigned and canExec() would throw if trying to access it.
- private @Nullable SandboxedSpawnActionContext workerStrategy;
+ @Nullable private SandboxedSpawnStrategy workerStrategy;
/**
* Constructs a {@code DynamicSpawnStrategy}.
@@ -196,8 +196,7 @@
Phaser bothTasksFinished = new Phaser(/*parties=*/ 1);
try {
- final AtomicReference<SpawnActionContext> outputsHaveBeenWritten =
- new AtomicReference<>(null);
+ final AtomicReference<SpawnStrategy> outputsHaveBeenWritten = new AtomicReference<>(null);
dynamicExecutionResult =
executorService.invokeAny(
ImmutableList.of(
@@ -308,14 +307,14 @@
DynamicStrategyRegistry dynamicStrategyRegistry =
actionContextRegistry.getContext(DynamicStrategyRegistry.class);
- for (SandboxedSpawnActionContext strategy :
+ for (SandboxedSpawnStrategy strategy :
dynamicStrategyRegistry.getDynamicSpawnActionContexts(
spawn, DynamicStrategyRegistry.DynamicMode.LOCAL)) {
if (strategy.canExec(spawn, actionContextRegistry)) {
return true;
}
}
- for (SandboxedSpawnActionContext strategy :
+ for (SandboxedSpawnStrategy strategy :
dynamicStrategyRegistry.getDynamicSpawnActionContexts(
spawn, DynamicStrategyRegistry.DynamicMode.REMOTE)) {
if (strategy.canExec(spawn, actionContextRegistry)) {
@@ -354,8 +353,7 @@
}
private static StopConcurrentSpawns lockOutputFiles(
- SandboxedSpawnActionContext token,
- @Nullable AtomicReference<SpawnActionContext> outputWriteBarrier) {
+ SandboxedSpawnStrategy token, @Nullable AtomicReference<SpawnStrategy> outputWriteBarrier) {
if (outputWriteBarrier == null) {
return null;
} else {
@@ -371,12 +369,12 @@
private static ImmutableList<SpawnResult> runLocally(
Spawn spawn,
ActionExecutionContext actionExecutionContext,
- @Nullable AtomicReference<SpawnActionContext> outputWriteBarrier)
+ @Nullable AtomicReference<SpawnStrategy> outputWriteBarrier)
throws ExecException, InterruptedException {
DynamicStrategyRegistry dynamicStrategyRegistry =
actionExecutionContext.getContext(DynamicStrategyRegistry.class);
- for (SandboxedSpawnActionContext strategy :
+ for (SandboxedSpawnStrategy strategy :
dynamicStrategyRegistry.getDynamicSpawnActionContexts(
spawn, DynamicStrategyRegistry.DynamicMode.LOCAL)) {
if (!strategy.toString().contains("worker") || supportsWorkers(spawn)) {
@@ -391,12 +389,12 @@
private static ImmutableList<SpawnResult> runRemotely(
Spawn spawn,
ActionExecutionContext actionExecutionContext,
- @Nullable AtomicReference<SpawnActionContext> outputWriteBarrier)
+ @Nullable AtomicReference<SpawnStrategy> outputWriteBarrier)
throws ExecException, InterruptedException {
DynamicStrategyRegistry dynamicStrategyRegistry =
actionExecutionContext.getContext(DynamicStrategyRegistry.class);
- for (SandboxedSpawnActionContext strategy :
+ for (SandboxedSpawnStrategy strategy :
dynamicStrategyRegistry.getDynamicSpawnActionContexts(
spawn, DynamicStrategyRegistry.DynamicMode.REMOTE)) {
return strategy.exec(
diff --git a/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java b/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java
index 276ae3d..c7ddf47 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java
@@ -29,7 +29,7 @@
import com.google.devtools.build.lib.actions.LostInputsExecException;
import com.google.devtools.build.lib.actions.MetadataProvider;
import com.google.devtools.build.lib.actions.RunningActionEvent;
-import com.google.devtools.build.lib.actions.SandboxedSpawnActionContext;
+import com.google.devtools.build.lib.actions.SandboxedSpawnStrategy;
import com.google.devtools.build.lib.actions.SchedulingActionEvent;
import com.google.devtools.build.lib.actions.Spawn;
import com.google.devtools.build.lib.actions.SpawnResult;
@@ -54,7 +54,7 @@
import javax.annotation.Nullable;
/** Abstract common ancestor for spawn strategies implementing the common parts. */
-public abstract class AbstractSpawnStrategy implements SandboxedSpawnActionContext {
+public abstract class AbstractSpawnStrategy implements SandboxedSpawnStrategy {
/**
* Last unique identifier assigned to a spawn by this strategy.
diff --git a/src/main/java/com/google/devtools/build/lib/exec/ExecutorBuilder.java b/src/main/java/com/google/devtools/build/lib/exec/ExecutorBuilder.java
index 46b1c51..73da12989 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/ExecutorBuilder.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/ExecutorBuilder.java
@@ -20,7 +20,7 @@
import com.google.devtools.build.lib.actions.Executor;
import com.google.devtools.build.lib.actions.ExecutorInitException;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.util.RegexFilter;
import java.util.LinkedHashSet;
import java.util.List;
@@ -77,7 +77,7 @@
* Sets the strategy names to use in the remote branch of dynamic execution for a given action
* mnemonic.
*
- * <p>During execution, each strategy is {@linkplain SpawnActionContext#canExec(Spawn,
+ * <p>During execution, each strategy is {@linkplain SpawnStrategy#canExec(Spawn,
* ActionContext.ActionContextRegistry) asked} whether it can execute a given Spawn. The first
* strategy in the list that says so will get the job.
*/
@@ -93,7 +93,7 @@
* Sets the strategy names to use in the local branch of dynamic execution for a given action
* mnemonic.
*
- * <p>During execution, each strategy is {@linkplain SpawnActionContext#canExec(Spawn,
+ * <p>During execution, each strategy is {@linkplain SpawnStrategy#canExec(Spawn,
* ActionContext.ActionContextRegistry) asked} whether it can execute a given Spawn. The first
* strategy in the list that says so will get the job.
*/
diff --git a/src/main/java/com/google/devtools/build/lib/exec/ProxySpawnActionContext.java b/src/main/java/com/google/devtools/build/lib/exec/ProxySpawnActionContext.java
index c565aed..8d2d9fc 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/ProxySpawnActionContext.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/ProxySpawnActionContext.java
@@ -18,16 +18,16 @@
import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ExecException;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnContinuation;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.actions.UserExecException;
import com.google.devtools.build.lib.events.NullEventHandler;
import java.util.List;
import java.util.stream.Collectors;
/** Proxy that looks up the right SpawnActionContext for a spawn during {@link #exec}. */
-public final class ProxySpawnActionContext implements SpawnActionContext {
+public final class ProxySpawnActionContext implements SpawnStrategy {
private final SpawnActionContextMaps spawnActionContextMaps;
@@ -35,7 +35,7 @@
* Creates a new {@link ProxySpawnActionContext}.
*
* @param spawnActionContextMaps The {@link SpawnActionContextMaps} to use to decide which {@link
- * SpawnActionContext} should execute a given {@link Spawn} during {@link #exec}.
+ * SpawnStrategy} should execute a given {@link Spawn} during {@link #exec}.
*/
public ProxySpawnActionContext(SpawnActionContextMaps spawnActionContextMaps) {
this.spawnActionContextMaps = spawnActionContextMaps;
@@ -50,18 +50,18 @@
@Override
public SpawnContinuation beginExecution(
Spawn spawn, ActionExecutionContext actionExecutionContext) throws InterruptedException {
- SpawnActionContext resolvedContext;
+ SpawnStrategy resolvedStrategy;
try {
- resolvedContext = resolveOne(spawn, actionExecutionContext);
+ resolvedStrategy = resolveOne(spawn, actionExecutionContext);
} catch (ExecException e) {
return SpawnContinuation.failedWithExecException(e);
}
- return resolvedContext.beginExecution(spawn, actionExecutionContext);
+ return resolvedStrategy.beginExecution(spawn, actionExecutionContext);
}
- private SpawnActionContext resolveOne(Spawn spawn, ActionExecutionContext actionExecutionContext)
+ private SpawnStrategy resolveOne(Spawn spawn, ActionExecutionContext actionExecutionContext)
throws UserExecException {
- List<SpawnActionContext> strategies = resolve(spawn, actionExecutionContext);
+ List<SpawnStrategy> strategies = resolve(spawn, actionExecutionContext);
// Because the strategies are ordered by preference, we can execute the spawn with the best
// possible one by simply filtering out the ones that can't execute it and then picking the
@@ -70,16 +70,16 @@
}
/**
- * Returns the list of {@link SpawnActionContext}s that should be used to execute the given spawn.
+ * Returns the list of {@link SpawnStrategy}s that should be used to execute the given spawn.
*
- * @param spawn The spawn for which the correct {@link SpawnActionContext} should be determined.
+ * @param spawn The spawn for which the correct {@link SpawnStrategy} should be determined.
* @param eventHandler An event handler that can be used to print messages while resolving the
- * correct {@link SpawnActionContext} for the given spawn.
+ * correct {@link SpawnStrategy} for the given spawn.
*/
@VisibleForTesting
- public List<SpawnActionContext> resolve(
- Spawn spawn, ActionExecutionContext actionExecutionContext) throws UserExecException {
- List<SpawnActionContext> strategies =
+ public List<SpawnStrategy> resolve(Spawn spawn, ActionExecutionContext actionExecutionContext)
+ throws UserExecException {
+ List<SpawnStrategy> strategies =
spawnActionContextMaps.getSpawnActionContexts(
spawn, actionExecutionContext.getEventHandler());
diff --git a/src/main/java/com/google/devtools/build/lib/exec/SpawnActionContextMaps.java b/src/main/java/com/google/devtools/build/lib/exec/SpawnActionContextMaps.java
index 7b746f9..f28cdda 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/SpawnActionContextMaps.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/SpawnActionContextMaps.java
@@ -32,9 +32,9 @@
import com.google.devtools.build.lib.actions.ActionContextMarker;
import com.google.devtools.build.lib.actions.DynamicStrategyRegistry;
import com.google.devtools.build.lib.actions.ExecutorInitException;
-import com.google.devtools.build.lib.actions.SandboxedSpawnActionContext;
+import com.google.devtools.build.lib.actions.SandboxedSpawnStrategy;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.events.Event;
import com.google.devtools.build.lib.events.EventHandler;
import com.google.devtools.build.lib.events.Reporter;
@@ -69,30 +69,28 @@
RemoteLocalFallbackRegistry,
ActionContext.ActionContextRegistry {
- /** A stored entry for a {@link RegexFilter} to {@link SpawnActionContext} mapping. */
+ /** A stored entry for a {@link RegexFilter} to {@link SpawnStrategy} mapping. */
@AutoValue
- public abstract static class RegexFilterSpawnActionContext {
+ public abstract static class RegexFilterSpawnStrategy {
public abstract RegexFilter regexFilter();
- public abstract ImmutableList<SpawnActionContext> spawnActionContext();
+ public abstract ImmutableList<SpawnStrategy> strategies();
}
- private final ImmutableSortedMap<String, List<SpawnActionContext>> mnemonicToSpawnStrategiesMap;
+ private final ImmutableSortedMap<String, List<SpawnStrategy>> mnemonicToSpawnStrategiesMap;
private final ImmutableClassToInstanceMap<ActionContext> strategies;
- private final ImmutableList<RegexFilterSpawnActionContext> spawnStrategyRegexList;
- private final ImmutableMultimap<String, SandboxedSpawnActionContext>
- mnemonicToRemoteDynamicStrategies;
- private final ImmutableMultimap<String, SandboxedSpawnActionContext>
- mnemonicToLocalDynamicStrategies;
+ private final ImmutableList<RegexFilterSpawnStrategy> spawnStrategyRegexList;
+ private final ImmutableMultimap<String, SandboxedSpawnStrategy> mnemonicToRemoteDynamicStrategies;
+ private final ImmutableMultimap<String, SandboxedSpawnStrategy> mnemonicToLocalDynamicStrategies;
private final ImmutableMap<Class<? extends ActionContext>, ActionContext> contextMap;
@Nullable private final AbstractSpawnStrategy remoteLocalFallbackStrategy;
private SpawnActionContextMaps(
- ImmutableSortedMap<String, List<SpawnActionContext>> mnemonicToSpawnStrategiesMap,
+ ImmutableSortedMap<String, List<SpawnStrategy>> mnemonicToSpawnStrategiesMap,
ImmutableClassToInstanceMap<ActionContext> strategies,
- ImmutableList<RegexFilterSpawnActionContext> spawnStrategyRegexList,
- ImmutableMultimap<String, SandboxedSpawnActionContext> mnemonicToRemoteDynamicStrategies,
- ImmutableMultimap<String, SandboxedSpawnActionContext> mnemonicToLocalDynamicStrategies,
+ ImmutableList<RegexFilterSpawnStrategy> spawnStrategyRegexList,
+ ImmutableMultimap<String, SandboxedSpawnStrategy> mnemonicToRemoteDynamicStrategies,
+ ImmutableMultimap<String, SandboxedSpawnStrategy> mnemonicToLocalDynamicStrategies,
AbstractSpawnStrategy remoteLocalFallbackStrategy) {
this.mnemonicToSpawnStrategiesMap = mnemonicToSpawnStrategiesMap;
this.strategies = strategies;
@@ -109,38 +107,37 @@
* <p>If the reason for selecting the context is worth mentioning to the user, logs a message
* using the given {@link Reporter}.
*/
- List<SpawnActionContext> getSpawnActionContexts(Spawn spawn, EventHandler reporter) {
+ List<SpawnStrategy> getSpawnActionContexts(Spawn spawn, EventHandler reporter) {
Preconditions.checkNotNull(spawn);
if (!spawnStrategyRegexList.isEmpty() && spawn.getResourceOwner() != null
// Don't override test strategies by --strategy_regexp for backwards compatibility.
&& !"TestRunner".equals(spawn.getMnemonic())) {
String description = spawn.getResourceOwner().getProgressMessage();
if (description != null) {
- for (RegexFilterSpawnActionContext entry : spawnStrategyRegexList) {
- if (entry.regexFilter().isIncluded(description) && entry.spawnActionContext() != null) {
+ for (RegexFilterSpawnStrategy entry : spawnStrategyRegexList) {
+ if (entry.regexFilter().isIncluded(description) && entry.strategies() != null) {
reporter.handle(
- Event.progress(
- description + " with context " + entry.spawnActionContext().toString()));
- return entry.spawnActionContext();
+ Event.progress(description + " with context " + entry.strategies().toString()));
+ return entry.strategies();
}
}
}
}
- List<SpawnActionContext> context = mnemonicToSpawnStrategiesMap.get(spawn.getMnemonic());
- if (context != null) {
- return context;
+ List<SpawnStrategy> strategies = mnemonicToSpawnStrategiesMap.get(spawn.getMnemonic());
+ if (strategies != null) {
+ return strategies;
}
return Preconditions.checkNotNull(mnemonicToSpawnStrategiesMap.get(""));
}
@Override
- public List<SandboxedSpawnActionContext> getDynamicSpawnActionContexts(
+ public List<SandboxedSpawnStrategy> getDynamicSpawnActionContexts(
Spawn spawn, DynamicMode dynamicMode) {
- ImmutableMultimap<String, SandboxedSpawnActionContext> mnemonicToDynamicStrategies =
+ ImmutableMultimap<String, SandboxedSpawnStrategy> mnemonicToDynamicStrategies =
dynamicMode == DynamicStrategyRegistry.DynamicMode.REMOTE
? mnemonicToRemoteDynamicStrategies
: mnemonicToLocalDynamicStrategies;
- return ImmutableList.<SandboxedSpawnActionContext>builder()
+ return ImmutableList.<SandboxedSpawnStrategy>builder()
.addAll(mnemonicToDynamicStrategies.get(spawn.getMnemonic()))
.addAll(mnemonicToDynamicStrategies.get(""))
.build();
@@ -160,7 +157,7 @@
contextMap.put(typeToStrategy.getKey(), strategy);
contextMap.put(strategy.getClass(), strategy);
}
- contextMap.put(SpawnActionContext.class, new ProxySpawnActionContext(this));
+ contextMap.put(SpawnStrategy.class, new ProxySpawnActionContext(this));
contextMap.put(DynamicStrategyRegistry.class, this);
contextMap.put(RemoteLocalFallbackRegistry.class, this);
return ImmutableMap.copyOf(contextMap);
@@ -179,7 +176,7 @@
// (so we respect insertion order but also instantiate them only once).
LinkedHashSet<ActionContext> allContexts = new LinkedHashSet<>(strategies.values());
mnemonicToSpawnStrategiesMap.values().forEach(allContexts::addAll);
- spawnStrategyRegexList.forEach(x -> allContexts.addAll(x.spawnActionContext()));
+ spawnStrategyRegexList.forEach(x -> allContexts.addAll(x.strategies()));
return ImmutableList.copyOf(allContexts);
}
@@ -195,11 +192,11 @@
@Override
public void notifyUsedDynamic(ActionContextRegistry actionContextRegistry) {
- for (SandboxedSpawnActionContext context : mnemonicToRemoteDynamicStrategies.values()) {
+ for (SandboxedSpawnStrategy context : mnemonicToRemoteDynamicStrategies.values()) {
context.usedContext(actionContextRegistry);
}
- for (SandboxedSpawnActionContext context : mnemonicToLocalDynamicStrategies.values()) {
+ for (SandboxedSpawnStrategy context : mnemonicToLocalDynamicStrategies.values()) {
context.usedContext(actionContextRegistry);
}
}
@@ -210,7 +207,7 @@
* <p>Prints out debug information about the mappings.
*/
void debugPrintSpawnActionContextMaps(Reporter reporter) {
- for (Entry<String, List<SpawnActionContext>> entry : mnemonicToSpawnStrategiesMap.entrySet()) {
+ for (Entry<String, List<SpawnStrategy>> entry : mnemonicToSpawnStrategiesMap.entrySet()) {
List<String> strategyNames =
entry.getValue().stream()
.map(spawnActionContext -> spawnActionContext.getClass().getSimpleName())
@@ -236,20 +233,19 @@
}
}
- for (RegexFilterSpawnActionContext entry : spawnStrategyRegexList) {
+ for (RegexFilterSpawnStrategy entry : spawnStrategyRegexList) {
reporter.handle(
Event.info(
String.format(
"SpawnActionContextMap: \"%s\" = %s",
- entry.regexFilter().toString(),
- entry.spawnActionContext().getClass().getSimpleName())));
+ entry.regexFilter().toString(), entry.strategies().getClass().getSimpleName())));
}
}
@VisibleForTesting
public static SpawnActionContextMaps createStub(
Map<Class<? extends ActionContext>, ActionContext> strategies,
- Map<String, List<SpawnActionContext>> spawnStrategyMnemonicMap) {
+ Map<String, List<SpawnStrategy>> spawnStrategyMnemonicMap) {
return new SpawnActionContextMaps(
ImmutableSortedMap.copyOf(spawnStrategyMnemonicMap, String.CASE_INSENSITIVE_ORDER),
ImmutableClassToInstanceMap.copyOf(strategies),
@@ -375,28 +371,28 @@
public SpawnActionContextMaps build() throws ExecutorInitException {
StrategyConverter strategyConverter = new StrategyConverter(actionContexts);
- ImmutableSortedMap.Builder<String, List<SpawnActionContext>> spawnStrategyMap =
+ ImmutableSortedMap.Builder<String, List<SpawnStrategy>> spawnStrategyMap =
ImmutableSortedMap.orderedBy(String.CASE_INSENSITIVE_ORDER);
HashMap<Class<? extends ActionContext>, ActionContext> strategies = new HashMap<>();
- ImmutableList.Builder<RegexFilterSpawnActionContext> spawnStrategyRegexList =
+ ImmutableList.Builder<RegexFilterSpawnStrategy> spawnStrategyRegexList =
ImmutableList.builder();
for (String mnemonic : strategyByMnemonicMap.keySet()) {
- ImmutableList.Builder<SpawnActionContext> contexts = ImmutableList.builder();
+ ImmutableList.Builder<SpawnStrategy> spawnStrategies = ImmutableList.builder();
Set<String> strategiesForMnemonic = strategyByMnemonicMap.get(mnemonic);
for (String strategy : strategiesForMnemonic) {
- SpawnActionContext context =
- strategyConverter.getStrategy(SpawnActionContext.class, strategy);
- if (context == null) {
+ SpawnStrategy spawnStrategy =
+ strategyConverter.getStrategy(SpawnStrategy.class, strategy);
+ if (spawnStrategy == null) {
String strategyOrNull = Strings.emptyToNull(strategy);
throw makeExceptionForInvalidStrategyValue(
strategy,
Joiner.on(' ').skipNulls().join(strategyOrNull, "spawn"),
- strategyConverter.getValidValues(SpawnActionContext.class));
+ strategyConverter.getValidValues(SpawnStrategy.class));
}
- contexts.add(context);
+ spawnStrategies.add(spawnStrategy);
}
- spawnStrategyMap.put(mnemonic, contexts.build());
+ spawnStrategyMap.put(mnemonic, spawnStrategies.build());
}
Set<ActionContext> seenContext = new HashSet<>();
@@ -417,35 +413,34 @@
}
for (RegexFilterStrategy entry : strategyByRegexpBuilder.build()) {
- ImmutableList.Builder<SpawnActionContext> contexts = ImmutableList.builder();
+ ImmutableList.Builder<SpawnStrategy> spawnStrategies = ImmutableList.builder();
List<String> strategiesForRegex = entry.strategy();
for (String strategy : strategiesForRegex) {
- SpawnActionContext context =
- strategyConverter.getStrategy(SpawnActionContext.class, strategy);
- if (context == null) {
+ SpawnStrategy spawnStrategy =
+ strategyConverter.getStrategy(SpawnStrategy.class, strategy);
+ if (spawnStrategy == null) {
strategy = Strings.emptyToNull(strategy);
throw makeExceptionForInvalidStrategyValue(
entry.regexFilter().toString(),
Joiner.on(' ').skipNulls().join(strategy, "spawn"),
- strategyConverter.getValidValues(SpawnActionContext.class));
+ strategyConverter.getValidValues(SpawnStrategy.class));
}
- contexts.add(context);
+ spawnStrategies.add(spawnStrategy);
}
spawnStrategyRegexList.add(
- new AutoValue_SpawnActionContextMaps_RegexFilterSpawnActionContext(
- entry.regexFilter(), contexts.build()));
+ new AutoValue_SpawnActionContextMaps_RegexFilterSpawnStrategy(
+ entry.regexFilter(), spawnStrategies.build()));
}
AbstractSpawnStrategy remoteLocalFallbackStrategy = null;
if (remoteLocalFallbackStrategyName != null) {
- SpawnActionContext strategy =
- strategyConverter.getStrategy(
- SpawnActionContext.class, remoteLocalFallbackStrategyName);
+ SpawnStrategy strategy =
+ strategyConverter.getStrategy(SpawnStrategy.class, remoteLocalFallbackStrategyName);
if (!(strategy instanceof AbstractSpawnStrategy)) {
throw makeExceptionForInvalidStrategyValue(
remoteLocalFallbackStrategyName,
"remote local fallback",
- strategyConverter.getValidValues(SpawnActionContext.class, "remote"));
+ strategyConverter.getValidValues(SpawnStrategy.class, "remote"));
}
remoteLocalFallbackStrategy = (AbstractSpawnStrategy) strategy;
}
@@ -459,11 +454,11 @@
remoteLocalFallbackStrategy);
}
- private ImmutableMultimap<String, SandboxedSpawnActionContext> toActionContexts(
+ private ImmutableMultimap<String, SandboxedSpawnStrategy> toActionContexts(
StrategyConverter strategyConverter,
LinkedHashMultimap<String, String> dynamicStrategyByMnemonicMap)
throws ExecutorInitException {
- ImmutableMultimap.Builder<String, SandboxedSpawnActionContext> mnemonicToStrategies =
+ ImmutableMultimap.Builder<String, SandboxedSpawnStrategy> mnemonicToStrategies =
ImmutableMultimap.builder();
for (Entry<String, Collection<String>> mnemonicToIdentifiers :
dynamicStrategyByMnemonicMap.asMap().entrySet()) {
@@ -471,20 +466,19 @@
if (identifier.isEmpty()) {
continue;
}
- SpawnActionContext context =
- strategyConverter.getStrategy(SpawnActionContext.class, identifier);
- if (context == null) {
+ SpawnStrategy strategy = strategyConverter.getStrategy(SpawnStrategy.class, identifier);
+ if (strategy == null) {
throw makeExceptionForInvalidStrategyValue(
identifier,
Joiner.on(' ').skipNulls().join(Strings.emptyToNull(identifier), "spawn"),
- strategyConverter.getValidValues(SpawnActionContext.class));
+ strategyConverter.getValidValues(SpawnStrategy.class));
}
- if (!(context instanceof SandboxedSpawnActionContext)) {
+ if (!(strategy instanceof SandboxedSpawnStrategy)) {
throw new ExecutorInitException(
"Requested strategy " + identifier + " exists but does not support sandboxing");
}
mnemonicToStrategies.put(
- mnemonicToIdentifiers.getKey(), (SandboxedSpawnActionContext) context);
+ mnemonicToIdentifiers.getKey(), (SandboxedSpawnStrategy) strategy);
}
}
return mnemonicToStrategies.build();
diff --git a/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java b/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java
index 99cf4d3..79cdd77 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java
@@ -29,9 +29,9 @@
import com.google.devtools.build.lib.actions.ResourceSet;
import com.google.devtools.build.lib.actions.SimpleSpawn;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnContinuation;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.actions.TestExecException;
import com.google.devtools.build.lib.analysis.actions.SpawnAction;
import com.google.devtools.build.lib.analysis.test.TestConfiguration;
@@ -305,7 +305,7 @@
long startTimeMillis = actionExecutionContext.getClock().currentTimeMillis();
SpawnContinuation spawnContinuation =
actionExecutionContext
- .getContext(SpawnActionContext.class)
+ .getContext(SpawnStrategy.class)
.beginExecution(spawn, actionExecutionContext.withFileOutErr(testOutErr));
return new BazelTestAttemptContinuation(
testAction,
@@ -604,14 +604,13 @@
&& fileOutErr.getOutputPath().exists()
&& !xmlOutputPath.exists()) {
Spawn xmlGeneratingSpawn = createXmlGeneratingSpawn(testAction, primaryResult);
- SpawnActionContext spawnActionContext =
- actionExecutionContext.getContext(SpawnActionContext.class);
+ SpawnStrategy strategy = actionExecutionContext.getContext(SpawnStrategy.class);
// We treat all failures to generate the test.xml here as catastrophic, and won't rerun
// the test if this fails. We redirect the output to a temporary file.
FileOutErr xmlSpawnOutErr = actionExecutionContext.getFileOutErr().childOutErr();
try {
SpawnContinuation xmlContinuation =
- spawnActionContext.beginExecution(
+ strategy.beginExecution(
xmlGeneratingSpawn, actionExecutionContext.withFileOutErr(xmlSpawnOutErr));
return new BazelXmlCreationContinuation(
resolvedPaths, xmlSpawnOutErr, builder, spawnResults, xmlContinuation);
diff --git a/src/main/java/com/google/devtools/build/lib/includescanning/SpawnIncludeScanner.java b/src/main/java/com/google/devtools/build/lib/includescanning/SpawnIncludeScanner.java
index 4833130..6252111 100644
--- a/src/main/java/com/google/devtools/build/lib/includescanning/SpawnIncludeScanner.java
+++ b/src/main/java/com/google/devtools/build/lib/includescanning/SpawnIncludeScanner.java
@@ -39,9 +39,9 @@
import com.google.devtools.build.lib.actions.RunfilesSupplier;
import com.google.devtools.build.lib.actions.SimpleSpawn;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnContinuation;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.analysis.platform.PlatformInfo;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
@@ -374,11 +374,11 @@
// Don't share the originalOutErr across spawnGrep calls. Doing so would not be thread-safe.
FileOutErr originalOutErr = actionExecutionContext.getFileOutErr();
FileOutErr grepOutErr = originalOutErr.childOutErr();
- SpawnActionContext context = actionExecutionContext.getContext(SpawnActionContext.class);
+ SpawnStrategy strategy = actionExecutionContext.getContext(SpawnStrategy.class);
ActionExecutionContext spawnContext = actionExecutionContext.withFileOutErr(grepOutErr);
List<SpawnResult> results;
try {
- results = context.exec(spawn, spawnContext);
+ results = strategy.exec(spawn, spawnContext);
dump(spawnContext, actionExecutionContext);
} catch (ExecException e) {
dump(spawnContext, actionExecutionContext);
@@ -500,7 +500,7 @@
SpawnContinuation spawnContinuation;
try {
spawnContinuation =
- grepContext.getContext(SpawnActionContext.class).beginExecution(spawn, grepContext);
+ grepContext.getContext(SpawnStrategy.class).beginExecution(spawn, grepContext);
} catch (InterruptedException e) {
dump(grepContext, actionExecutionContext);
return Futures.immediateCancelledFuture();
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 8b8dc5a..0a0ed81 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
@@ -22,7 +22,7 @@
import com.google.devtools.build.lib.actions.ActionGraph;
import com.google.devtools.build.lib.actions.ActionInput;
import com.google.devtools.build.lib.actions.ExecutorInitException;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.analysis.ArtifactsToOwnerLabels;
import com.google.devtools.build.lib.exec.ExecutionOptions;
import com.google.devtools.build.lib.exec.ExecutorBuilder;
@@ -117,9 +117,7 @@
logDir,
filesToDownload);
executorBuilder.addActionContext(
- SpawnActionContext.class,
- new RemoteSpawnStrategy(env.getExecRoot(), spawnRunner),
- "remote");
+ SpawnStrategy.class, new RemoteSpawnStrategy(env.getExecRoot(), spawnRunner), "remote");
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
index 22d01bc..d355fbf 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
@@ -47,9 +47,9 @@
import com.google.devtools.build.lib.actions.ResourceSet;
import com.google.devtools.build.lib.actions.SimpleSpawn;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnContinuation;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.actions.extra.CppCompileInfo;
import com.google.devtools.build.lib.actions.extra.EnvironmentVariable;
import com.google.devtools.build.lib.actions.extra.ExtraActionInfo;
@@ -1379,9 +1379,7 @@
}
SpawnContinuation spawnContinuation =
- actionExecutionContext
- .getContext(SpawnActionContext.class)
- .beginExecution(spawn, spawnContext);
+ actionExecutionContext.getContext(SpawnStrategy.class).beginExecution(spawn, spawnContext);
return new CppCompileActionContinuation(
actionExecutionContext,
spawnContext,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
index 8fd246b..58ef75e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
@@ -42,8 +42,8 @@
import com.google.devtools.build.lib.actions.ResourceSet;
import com.google.devtools.build.lib.actions.SimpleSpawn;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnContinuation;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.actions.extra.CppLinkInfo;
import com.google.devtools.build.lib.actions.extra.ExtraActionInfo;
import com.google.devtools.build.lib.analysis.actions.ActionConstructionContext;
@@ -314,7 +314,7 @@
Spawn spawn = createSpawn(actionExecutionContext);
SpawnContinuation spawnContinuation =
actionExecutionContext
- .getContext(SpawnActionContext.class)
+ .getContext(SpawnStrategy.class)
.beginExecution(spawn, actionExecutionContext);
return new CppLinkActionContinuation(actionExecutionContext, spawnContinuation);
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
index a0c303f..683f24a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/FakeCppCompileAction.java
@@ -31,8 +31,8 @@
import com.google.devtools.build.lib.actions.ExecException;
import com.google.devtools.build.lib.actions.ResourceSet;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadCompatible;
@@ -137,8 +137,8 @@
byte[] dotDContents = null;
try {
Spawn spawn = createSpawn(actionExecutionContext.getClientEnv());
- SpawnActionContext context = actionExecutionContext.getContext(SpawnActionContext.class);
- spawnResults = context.exec(spawn, actionExecutionContext);
+ SpawnStrategy strategy = actionExecutionContext.getContext(SpawnStrategy.class);
+ spawnResults = strategy.exec(spawn, actionExecutionContext);
// The SpawnActionContext guarantees that the first list entry is the successful one.
dotDContents = getDotDContents(spawnResults.get(0));
} catch (ExecException e) {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java
index d96e948..a90cd3e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java
@@ -47,9 +47,9 @@
import com.google.devtools.build.lib.actions.ResourceSet;
import com.google.devtools.build.lib.actions.RunfilesSupplier;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnContinuation;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.actions.extra.ExtraActionInfo;
import com.google.devtools.build.lib.analysis.actions.CustomCommandLine;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
@@ -339,7 +339,7 @@
}
SpawnContinuation spawnContinuation =
actionExecutionContext
- .getContext(SpawnActionContext.class)
+ .getContext(SpawnStrategy.class)
.beginExecution(spawn, actionExecutionContext);
return new JavaActionContinuation(actionExecutionContext, reducedClasspath, spawnContinuation);
}
@@ -604,7 +604,7 @@
}
SpawnContinuation fallbackContinuation =
actionExecutionContext
- .getContext(SpawnActionContext.class)
+ .getContext(SpawnStrategy.class)
.beginExecution(spawn, actionExecutionContext);
return new JavaFallbackActionContinuation(
actionExecutionContext, results, fallbackContinuation);
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxModule.java b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxModule.java
index fb29c4f..bd042e7 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxModule.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxModule.java
@@ -23,8 +23,8 @@
import com.google.devtools.build.lib.actions.ExecException;
import com.google.devtools.build.lib.actions.ExecutorInitException;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.buildtool.BuildRequest;
import com.google.devtools.build.lib.buildtool.buildevent.BuildCompleteEvent;
import com.google.devtools.build.lib.buildtool.buildevent.BuildInterruptedEvent;
@@ -276,7 +276,7 @@
treeDeleter));
spawnRunners.add(spawnRunner);
builder.addActionContext(
- SpawnActionContext.class,
+ SpawnStrategy.class,
new ProcessWrapperSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner),
"sandboxed",
"processwrapper-sandbox");
@@ -304,7 +304,7 @@
treeDeleter));
spawnRunners.add(spawnRunner);
builder.addActionContext(
- SpawnActionContext.class,
+ SpawnStrategy.class,
new DockerSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner),
"docker");
}
@@ -328,7 +328,7 @@
treeDeleter));
spawnRunners.add(spawnRunner);
builder.addActionContext(
- SpawnActionContext.class,
+ SpawnStrategy.class,
new LinuxSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner),
"sandboxed",
"linux-sandbox");
@@ -348,7 +348,7 @@
treeDeleter));
spawnRunners.add(spawnRunner);
builder.addActionContext(
- SpawnActionContext.class,
+ SpawnStrategy.class,
new DarwinSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner),
"sandboxed",
"darwin-sandbox");
@@ -361,7 +361,7 @@
new WindowsSandboxedSpawnRunner(cmdEnv, timeoutKillDelay, windowsSandboxPath));
spawnRunners.add(spawnRunner);
builder.addActionContext(
- SpawnActionContext.class,
+ SpawnStrategy.class,
new WindowsSandboxedStrategy(cmdEnv.getExecRoot(), spawnRunner),
"sandboxed",
"windows-sandbox");
@@ -373,7 +373,7 @@
|| windowsSandboxSupported) {
// This makes the "sandboxed" strategy available via --spawn_strategy=sandboxed,
// but it is not necessarily the default.
- builder.addStrategyByContext(SpawnActionContext.class, "sandboxed");
+ builder.addStrategyByContext(SpawnStrategy.class, "sandboxed");
// This makes the "sandboxed" strategy the default Spawn strategy, unless it is
// overridden by a later BlazeModule.
diff --git a/src/main/java/com/google/devtools/build/lib/standalone/StandaloneModule.java b/src/main/java/com/google/devtools/build/lib/standalone/StandaloneModule.java
index fa3e693..8c0193f 100644
--- a/src/main/java/com/google/devtools/build/lib/standalone/StandaloneModule.java
+++ b/src/main/java/com/google/devtools/build/lib/standalone/StandaloneModule.java
@@ -14,7 +14,7 @@
package com.google.devtools.build.lib.standalone;
import com.google.common.collect.ImmutableList;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.analysis.actions.FileWriteActionContext;
import com.google.devtools.build.lib.analysis.actions.LocalTemplateExpansionStrategy;
import com.google.devtools.build.lib.analysis.actions.TemplateExpansionContext;
@@ -94,7 +94,7 @@
// could potentially be used and a spawnActionContext doesn't specify which one it wants, the
// last one from strategies list will be used
builder.addActionContext(
- SpawnActionContext.class,
+ SpawnStrategy.class,
new StandaloneSpawnStrategy(env.getExecRoot(), localSpawnRunner),
"standalone",
"local");
@@ -111,6 +111,6 @@
// This makes the "standalone" strategy available via --spawn_strategy=standalone, but it is not
// necessarily the default.
- builder.addStrategyByContext(SpawnActionContext.class, "standalone");
+ builder.addStrategyByContext(SpawnStrategy.class, "standalone");
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java b/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java
index 1181260..4d521cd 100644
--- a/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java
+++ b/src/main/java/com/google/devtools/build/lib/worker/WorkerModule.java
@@ -18,7 +18,7 @@
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableMultimap;
import com.google.common.eventbus.Subscribe;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.buildtool.BuildRequest;
import com.google.devtools.build.lib.buildtool.buildevent.BuildCompleteEvent;
import com.google.devtools.build.lib.buildtool.buildevent.BuildInterruptedEvent;
@@ -158,12 +158,10 @@
// TODO(buchgr): Replace singleton by a command-scoped RunfilesTreeUpdater
RunfilesTreeUpdater.INSTANCE);
builder.addActionContext(
- SpawnActionContext.class,
- new WorkerSpawnStrategy(env.getExecRoot(), spawnRunner),
- "worker");
+ SpawnStrategy.class, new WorkerSpawnStrategy(env.getExecRoot(), spawnRunner), "worker");
- builder.addStrategyByContext(SpawnActionContext.class, "standalone");
- builder.addStrategyByContext(SpawnActionContext.class, "worker");
+ builder.addStrategyByContext(SpawnStrategy.class, "standalone");
+ builder.addStrategyByContext(SpawnStrategy.class, "worker");
}
private static SpawnRunner createFallbackRunner(
diff --git a/src/test/java/com/google/devtools/build/lib/dynamic/DynamicSpawnStrategyTest.java b/src/test/java/com/google/devtools/build/lib/dynamic/DynamicSpawnStrategyTest.java
index 1176f2e..ef01393 100644
--- a/src/test/java/com/google/devtools/build/lib/dynamic/DynamicSpawnStrategyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/dynamic/DynamicSpawnStrategyTest.java
@@ -37,10 +37,10 @@
import com.google.devtools.build.lib.actions.Executor;
import com.google.devtools.build.lib.actions.ExecutorInitException;
import com.google.devtools.build.lib.actions.ResourceSet;
-import com.google.devtools.build.lib.actions.SandboxedSpawnActionContext;
+import com.google.devtools.build.lib.actions.SandboxedSpawnStrategy;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.actions.UserExecException;
import com.google.devtools.build.lib.actions.util.ActionsTestUtil;
import com.google.devtools.build.lib.actions.util.ActionsTestUtil.NullAction;
@@ -116,7 +116,7 @@
* <p>All the logic in here must be applicable to all tests. If any test needs to special-case
* some aspect of this logic, then it must extend this subclass as necessary.
*/
- private class MockSpawnStrategy implements SandboxedSpawnActionContext {
+ private class MockSpawnStrategy implements SandboxedSpawnStrategy {
/** Identifier of this class for error reporting purposes. */
private final String name;
@@ -318,12 +318,11 @@
ExecutorBuilder executorBuilder =
new ExecutorBuilder()
- .addActionContext(SpawnActionContext.class, localStrategy, "mock-local")
- .addActionContext(SpawnActionContext.class, remoteStrategy, "mock-remote");
+ .addActionContext(SpawnStrategy.class, localStrategy, "mock-local")
+ .addActionContext(SpawnStrategy.class, remoteStrategy, "mock-remote");
if (sandboxedStrategy != null) {
- executorBuilder.addActionContext(
- SpawnActionContext.class, sandboxedStrategy, "mock-sandboxed");
+ executorBuilder.addActionContext(SpawnStrategy.class, sandboxedStrategy, "mock-sandboxed");
}
new DynamicExecutionModule(executorService).initStrategies(executorBuilder, options);
@@ -358,7 +357,7 @@
checkState(optionalContext.isPresent(), "Expected module to register a dynamic strategy");
return new AutoValue_DynamicSpawnStrategyTest_StrategyAndContext(
- (SpawnActionContext) optionalContext.get(), actionExecutionContext);
+ (SpawnStrategy) optionalContext.get(), actionExecutionContext);
}
private static class NullActionWithMnemonic extends NullAction {
@@ -1019,7 +1018,7 @@
@AutoValue
abstract static class StrategyAndContext {
- abstract SpawnActionContext strategy();
+ abstract SpawnStrategy strategy();
abstract ActionExecutionContext context();
diff --git a/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java b/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java
index dfb9980..aa88c4c 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/BlazeExecutorTest.java
@@ -21,8 +21,8 @@
import com.google.common.eventbus.EventBus;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.analysis.BlazeDirectories;
import com.google.devtools.build.lib.analysis.ServerDirectories;
import com.google.devtools.build.lib.events.Event;
@@ -79,7 +79,7 @@
.setReporter(reporter)
.setOptionsParser(parser)
.setExecution("fake", "fake")
- .addStrategy(SpawnActionContext.class, new FakeSpawnStrategy(), "fake")
+ .addStrategy(SpawnStrategy.class, new FakeSpawnStrategy(), "fake")
.build();
Event event =
@@ -96,7 +96,7 @@
.contains("\"fake\" = [" + strategy.getClass().getSimpleName() + "]");
}
- private static class FakeSpawnStrategy implements SpawnActionContext {
+ private static class FakeSpawnStrategy implements SpawnStrategy {
@Override
public ImmutableList<SpawnResult> exec(
diff --git a/src/test/java/com/google/devtools/build/lib/exec/SpawnActionContextMapsTest.java b/src/test/java/com/google/devtools/build/lib/exec/SpawnActionContextMapsTest.java
index e34b58e..508ad07 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/SpawnActionContextMapsTest.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/SpawnActionContextMapsTest.java
@@ -22,8 +22,8 @@
import com.google.devtools.build.lib.actions.ActionExecutionMetadata;
import com.google.devtools.build.lib.actions.ExecException;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.events.Reporter;
import com.google.devtools.build.lib.testutil.Suite;
import com.google.devtools.build.lib.testutil.TestSpec;
@@ -52,8 +52,8 @@
public void setUp() {
builder =
new SpawnActionContextMaps.Builder()
- .addContext(SpawnActionContext.class, ac1, "ac1")
- .addContext(SpawnActionContext.class, ac2, "ac2");
+ .addContext(SpawnStrategy.class, ac1, "ac1")
+ .addContext(SpawnStrategy.class, ac2, "ac2");
}
@Test
@@ -61,8 +61,7 @@
builder.strategyByMnemonicMap().put("Spawn1", "ac1");
builder.strategyByMnemonicMap().put("Spawn1", "ac2");
SpawnActionContextMaps maps = builder.build();
- List<SpawnActionContext> result =
- maps.getSpawnActionContexts(mockSpawn("Spawn1", null), reporter);
+ List<SpawnStrategy> result = maps.getSpawnActionContexts(mockSpawn("Spawn1", null), reporter);
assertThat(result).containsExactly(ac1, ac2);
}
@@ -71,8 +70,7 @@
builder.strategyByMnemonicMap().put("Spawn1", "");
builder.strategyByMnemonicMap().put("", "ac2");
SpawnActionContextMaps maps = builder.build();
- List<SpawnActionContext> result =
- maps.getSpawnActionContexts(mockSpawn("Spawn1", null), reporter);
+ List<SpawnStrategy> result = maps.getSpawnActionContexts(mockSpawn("Spawn1", null), reporter);
assertThat(result).containsExactly(ac2);
}
@@ -82,7 +80,7 @@
builder.addStrategyByRegexp(converter.convert("foo/bar"), ImmutableList.of("ac2"));
SpawnActionContextMaps maps = builder.build();
- List<SpawnActionContext> result =
+ List<SpawnStrategy> result =
maps.getSpawnActionContexts(mockSpawn(null, "Doing something with foo/bar/baz"), reporter);
assertThat(result).containsExactly(ac1);
@@ -94,7 +92,7 @@
builder.addStrategyByRegexp(converter.convert("foo/bar"), ImmutableList.of("ac2"));
SpawnActionContextMaps maps = builder.build();
- List<SpawnActionContext> result =
+ List<SpawnStrategy> result =
maps.getSpawnActionContexts(
mockSpawn("Spawn1", "Doing something with foo/bar/baz"), reporter);
@@ -117,7 +115,7 @@
return mockSpawn;
}
- private static class AC1 implements SpawnActionContext {
+ private static class AC1 implements SpawnStrategy {
@Override
public ImmutableList<SpawnResult> exec(
Spawn spawn, ActionExecutionContext actionExecutionContext)
@@ -131,7 +129,7 @@
}
}
- private static class AC2 implements SpawnActionContext {
+ private static class AC2 implements SpawnStrategy {
@Override
public ImmutableList<SpawnResult> exec(
Spawn spawn, ActionExecutionContext actionExecutionContext)
diff --git a/src/test/java/com/google/devtools/build/lib/exec/StandaloneTestStrategyTest.java b/src/test/java/com/google/devtools/build/lib/exec/StandaloneTestStrategyTest.java
index 48fbf61..c1e0d02 100644
--- a/src/test/java/com/google/devtools/build/lib/exec/StandaloneTestStrategyTest.java
+++ b/src/test/java/com/google/devtools/build/lib/exec/StandaloneTestStrategyTest.java
@@ -33,10 +33,10 @@
import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnContinuation;
import com.google.devtools.build.lib.actions.SpawnResult;
import com.google.devtools.build.lib.actions.SpawnResult.Status;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.test.TestActionContext;
import com.google.devtools.build.lib.analysis.test.TestProvider;
@@ -91,10 +91,9 @@
}
private class FakeActionExecutionContext extends ActionExecutionContext {
- private final SpawnActionContext spawnActionContext;
+ private final SpawnStrategy spawnActionContext;
- public FakeActionExecutionContext(
- FileOutErr fileOutErr, SpawnActionContext spawnActionContext) {
+ public FakeActionExecutionContext(FileOutErr fileOutErr, SpawnStrategy spawnActionContext) {
super(
/*executor=*/ null,
/*actionInputFileCache=*/ null,
@@ -120,7 +119,7 @@
@Override
@Nullable
public <T extends ActionContext> T getContext(Class<T> type) {
- return SpawnActionContext.class.equals(type) ? type.cast(spawnActionContext) : null;
+ return SpawnStrategy.class.equals(type) ? type.cast(spawnActionContext) : null;
}
@Override
@@ -139,7 +138,7 @@
}
}
- @Mock private SpawnActionContext spawnActionContext;
+ @Mock private SpawnStrategy spawnActionContext;
private StoredEventHandler storedEvents = new StoredEventHandler();
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 af2e899..7e7dc1e 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
@@ -34,8 +34,8 @@
import com.google.devtools.build.lib.actions.ResourceSet;
import com.google.devtools.build.lib.actions.SimpleSpawn;
import com.google.devtools.build.lib.actions.Spawn;
-import com.google.devtools.build.lib.actions.SpawnActionContext;
import com.google.devtools.build.lib.actions.SpawnResult;
+import com.google.devtools.build.lib.actions.SpawnStrategy;
import com.google.devtools.build.lib.actions.util.ActionsTestUtil;
import com.google.devtools.build.lib.analysis.BlazeDirectories;
import com.google.devtools.build.lib.analysis.ServerDirectories;
@@ -196,7 +196,7 @@
@Test
public void testBinTrueExecutesFine() throws Exception {
Spawn spawn = createSpawn(getTrueCommand());
- executor.getContext(SpawnActionContext.class).exec(spawn, createContext());
+ executor.getContext(SpawnStrategy.class).exec(spawn, createContext());
if (OS.getCurrent() != OS.WINDOWS) {
assertThat(out()).isEmpty();
@@ -205,7 +205,7 @@
}
private List<SpawnResult> run(Spawn spawn) throws Exception {
- return executor.getContext(SpawnActionContext.class).exec(spawn, createContext());
+ return executor.getContext(SpawnStrategy.class).exec(spawn, createContext());
}
private ActionExecutionContext createContext() {