aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/actions
diff options
context:
space:
mode:
authorGravatar John Cater <jcater@google.com>2017-12-18 08:34:40 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-12-18 08:36:05 -0800
commit15c90b3cda481ee95079b4c4be17e484cb44199a (patch)
treeaa103a0d8b829c979b5a308e116f09f4cf7de043 /src/main/java/com/google/devtools/build/lib/analysis/actions
parent96ea65b3b884fdec4e32d873b5e5a64354744263 (diff)
Set the execution platform on a new SpawnAction based on the RuleContext.
Part of #4128. Change-Id: Ic46d2db2017b6cf4c14a91653ab75b3381b80b5a PiperOrigin-RevId: 179426362
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/actions')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/ActionConstructionContext.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java1
2 files changed, 7 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/ActionConstructionContext.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/ActionConstructionContext.java
index a38a08e6b7..3b10c5a42c 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/ActionConstructionContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/ActionConstructionContext.java
@@ -18,7 +18,9 @@ import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.Root;
import com.google.devtools.build.lib.analysis.AnalysisEnvironment;
import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
+import com.google.devtools.build.lib.analysis.platform.PlatformInfo;
import com.google.devtools.build.lib.vfs.PathFragment;
+import javax.annotation.Nullable;
/**
* A temporary interface to allow migration from RuleConfiguredTarget to RuleContext. It bundles
@@ -53,4 +55,8 @@ public interface ActionConstructionContext {
* method.
*/
Artifact getDerivedArtifact(PathFragment rootRelativePath, Root root);
+
+ /** Returns the {@link PlatformInfo} describing the execution platform this action should use. */
+ @Nullable
+ PlatformInfo getExecutionPlatform();
}
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 7dd7312e6e..edb6aab5c1 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
@@ -673,6 +673,7 @@ public class SpawnAction extends AbstractAction implements ExecutionInfoSpecifie
*/
@CheckReturnValue
public Action[] build(ActionConstructionContext context) {
+ setExecutionPlatform(context.getExecutionPlatform());
return build(context.getActionOwner(), context.getAnalysisEnvironment(),
context.getConfiguration());
}