aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
diff options
context:
space:
mode:
authorGravatar Rumou Duan <rduan@google.com>2016-06-06 18:52:08 +0000
committerGravatar Yun Peng <pcloudy@google.com>2016-06-07 07:48:39 +0000
commit73876205d11794a5b748dc3e800261c0f459ef76 (patch)
tree641af04fa8d3d502c3842bbc4991ab3b1850d960 /src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
parent2410ef4c777c6b4db397365ae5b78af3a9b3c446 (diff)
Skyframe changes to support SpawnActionTemplate.
1. Adds ActionTemplateExpansion{Function, Value} for ActionTemplate expansion. 2. Changes ArtifactFunction to support evaluating TreeFileArtifacts and TreeArtifacts generated by ActionTemplate. -- MOS_MIGRATED_REVID=124160939
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
index e56ef46f6d..4c3c6a2c93 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
@@ -14,9 +14,11 @@
package com.google.devtools.build.lib.skyframe;
import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.Function;
import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.actions.Action;
import com.google.devtools.build.lib.actions.ActionAnalysisMetadata.MiddlemanType;
import com.google.devtools.build.lib.actions.Artifact;
@@ -36,6 +38,15 @@ import javax.annotation.Nullable;
@Immutable
@ThreadSafe
public class ActionExecutionValue implements SkyValue {
+
+ private static final Function<Action, SkyKey> TO_KEY =
+ new Function<Action, SkyKey>() {
+ @Override
+ public SkyKey apply(Action action) {
+ return key(action);
+ }
+ };
+
/*
Concerning the data in this class:
@@ -131,6 +142,10 @@ public class ActionExecutionValue implements SkyValue {
return SkyKey.create(SkyFunctions.ACTION_EXECUTION, action);
}
+ static Iterable<SkyKey> keys(Iterable<Action> actions) {
+ return Iterables.transform(actions, TO_KEY);
+ }
+
/**
* Returns whether the key corresponds to a ActionExecutionValue worth reporting status about.
*