diff options
author | Rumou Duan <rduan@google.com> | 2016-06-06 18:52:08 +0000 |
---|---|---|
committer | Yun Peng <pcloudy@google.com> | 2016-06-07 07:48:39 +0000 |
commit | 73876205d11794a5b748dc3e800261c0f459ef76 (patch) | |
tree | 641af04fa8d3d502c3842bbc4991ab3b1850d960 /src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java | |
parent | 2410ef4c777c6b4db397365ae5b78af3a9b3c446 (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.java | 15 |
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. * |