Set the execution platform on a new SpawnAction based on the RuleContext.
Part of #4128.
Change-Id: Ic46d2db2017b6cf4c14a91653ab75b3381b80b5a
PiperOrigin-RevId: 179426362
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
index eef1771..755ccd0 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RuleContext.java
@@ -49,6 +49,7 @@
import com.google.devtools.build.lib.analysis.config.PatchTransition;
import com.google.devtools.build.lib.analysis.configuredtargets.RuleConfiguredTarget.Mode;
import com.google.devtools.build.lib.analysis.fileset.FilesetProvider;
+import com.google.devtools.build.lib.analysis.platform.PlatformInfo;
import com.google.devtools.build.lib.analysis.stringtemplate.TemplateContext;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.cmdline.RepositoryName;
@@ -999,6 +1000,15 @@
return toolchainContext;
}
+ @Override
+ @Nullable
+ public PlatformInfo getExecutionPlatform() {
+ if (getToolchainContext() == null) {
+ return null;
+ }
+ return getToolchainContext().getExecutionPlatform();
+ }
+
private void checkAttribute(String attributeName, Mode mode) {
Attribute attributeDefinition = attributes.getAttributeDefinition(attributeName);
if (attributeDefinition == null) {