diff options
author | 2018-02-23 07:35:08 -0800 | |
---|---|---|
committer | 2018-02-23 07:37:05 -0800 | |
commit | f0c7c4650d874d31a4ef97df191a743445c0463d (patch) | |
tree | 780dee4f93bc50f3f63ae265c0492c06a3916d61 /src | |
parent | bb489a78ed41a2d1faaaf9d3d158d4150661cb52 (diff) |
@AutoCodec for GenRuleAction.
PiperOrigin-RevId: 186765754
Diffstat (limited to 'src')
5 files changed, 12 insertions, 5 deletions
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 23005b7b6c..e991541ecc 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 @@ -61,6 +61,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSet; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.collect.nestedset.NestedSetView; import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; +import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization; import com.google.devtools.build.lib.syntax.SkylarkList; import com.google.devtools.build.lib.util.Fingerprint; import com.google.devtools.build.lib.util.LazyString; @@ -89,7 +90,8 @@ public class SpawnAction extends AbstractAction implements ExecutionInfoSpecifie private static final String GUID = "ebd6fce3-093e-45ee-adb6-bf513b602f0d"; - private final CommandLine argv; + @VisibleForSerialization + protected final CommandLine argv; private final boolean executeUnconditionally; private final boolean isShellCommand; diff --git a/src/main/java/com/google/devtools/build/lib/rules/genrule/BUILD b/src/main/java/com/google/devtools/build/lib/rules/genrule/BUILD index 6a5d1445b6..fa823867b5 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/genrule/BUILD +++ b/src/main/java/com/google/devtools/build/lib/rules/genrule/BUILD @@ -19,8 +19,10 @@ java_library( "//src/main/java/com/google/devtools/build/lib/actions", "//src/main/java/com/google/devtools/build/lib/cmdline", "//src/main/java/com/google/devtools/build/lib/collect/nestedset", + "//src/main/java/com/google/devtools/build/lib/collect/nestedset:serialization", "//src/main/java/com/google/devtools/build/lib/concurrent", "//src/main/java/com/google/devtools/build/lib/rules/cpp", + "//src/main/java/com/google/devtools/build/lib/skyframe/serialization/autocodec", "//src/main/java/com/google/devtools/build/lib/vfs", "//third_party:guava", "//third_party:jsr305", diff --git a/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleAction.java b/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleAction.java index 44cd0255ec..87cd33b3e8 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleAction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleAction.java @@ -28,12 +28,14 @@ import com.google.devtools.build.lib.actions.RunfilesSupplier; import com.google.devtools.build.lib.actions.SpawnResult; import com.google.devtools.build.lib.analysis.actions.SpawnAction; import com.google.devtools.build.lib.events.EventHandler; +import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import java.util.List; /** * A spawn action for genrules. Genrules are handled specially in that inputs and outputs are * checked for directories. */ +@AutoCodec public class GenRuleAction extends SpawnAction { private static final ResourceSet GENRULE_RESOURCES = @@ -45,7 +47,7 @@ public class GenRuleAction extends SpawnAction { Iterable<Artifact> tools, Iterable<Artifact> inputs, Iterable<Artifact> outputs, - List<String> argv, + CommandLine argv, ActionEnvironment env, ImmutableMap<String, String> executionInfo, RunfilesSupplier runfilesSupplier, @@ -56,7 +58,7 @@ public class GenRuleAction extends SpawnAction { inputs, outputs, GENRULE_RESOURCES, - CommandLine.of(argv), + argv, false, env, executionInfo, diff --git a/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBase.java b/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBase.java index 20afae129c..74a2bd6443 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBase.java +++ b/src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBase.java @@ -20,6 +20,7 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.common.collect.Maps; import com.google.devtools.build.lib.actions.Artifact; +import com.google.devtools.build.lib.actions.CommandLine; import com.google.devtools.build.lib.actions.CompositeRunfilesSupplier; import com.google.devtools.build.lib.analysis.AliasProvider; import com.google.devtools.build.lib.analysis.CommandHelper; @@ -220,7 +221,7 @@ public abstract class GenRuleBase implements RuleConfiguredTargetFactory { ImmutableList.copyOf(commandHelper.getResolvedTools()), inputs.build(), filesToBuild, - argv, + CommandLine.of(argv), ruleContext.getConfiguration().getActionEnvironment(), ImmutableMap.copyOf(executionInfo), new CompositeRunfilesSupplier(commandHelper.getToolsRunfilesSuppliers()), diff --git a/src/test/shell/integration/nonincremental_builds_test.sh b/src/test/shell/integration/nonincremental_builds_test.sh index 56caa676ac..7baff15acc 100755 --- a/src/test/shell/integration/nonincremental_builds_test.sh +++ b/src/test/shell/integration/nonincremental_builds_test.sh @@ -96,7 +96,7 @@ function test_inmemory_state_absent_after_build_with_nokeep_state() { "$bazel_javabase"/bin/jmap -histo:live "$server_pid" > histo.txt cat histo.txt >> "$TEST_log" - assert_not_contains "GenRuleAction" histo.txt + assert_not_contains "GenRuleAction$" histo.txt assert_not_contains "InMemoryNodeEntry" histo.txt } |