aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2018-02-23 07:35:08 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-23 07:37:05 -0800
commitf0c7c4650d874d31a4ef97df191a743445c0463d (patch)
tree780dee4f93bc50f3f63ae265c0492c06a3916d61 /src
parentbb489a78ed41a2d1faaaf9d3d158d4150661cb52 (diff)
@AutoCodec for GenRuleAction.
PiperOrigin-RevId: 186765754
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/genrule/BUILD2
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleAction.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/genrule/GenRuleBase.java3
-rwxr-xr-xsrc/test/shell/integration/nonincremental_builds_test.sh2
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
}