Fix Action subclasses so that the execution platform is properly set in
more cases.

Part of #4128.

Change-Id: Ife5e4581f91ac07931d193ed5eaa256aab3ad047
PiperOrigin-RevId: 180826445
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 25a0cf3..9f06d5c 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
@@ -381,7 +381,8 @@
   @Override
   public ActionOwner getActionOwner() {
     if (actionOwner == null) {
-      actionOwner = createActionOwner(rule, aspectDescriptors, getConfiguration());
+      actionOwner =
+          createActionOwner(rule, aspectDescriptors, getConfiguration(), getExecutionPlatform());
     }
     return actionOwner;
   }
@@ -461,7 +462,8 @@
   public static ActionOwner createActionOwner(
       Rule rule,
       ImmutableList<AspectDescriptor> aspectDescriptors,
-      BuildConfiguration configuration) {
+      BuildConfiguration configuration,
+      @Nullable PlatformInfo executionPlatform) {
     return ActionOwner.create(
         rule.getLabel(),
         aspectDescriptors,
@@ -470,7 +472,8 @@
         rule.getTargetKind(),
         configuration.checksum(),
         configuration,
-        configuration.isHostConfiguration() ? HOST_CONFIGURATION_PROGRESS_TAG : null);
+        configuration.isHostConfiguration() ? HOST_CONFIGURATION_PROGRESS_TAG : null,
+        executionPlatform);
   }
 
   @Override