aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
diff options
context:
space:
mode:
authorGravatar kush <kush@google.com>2018-05-02 14:15:37 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-05-02 14:17:43 -0700
commit2ce45a21dbd6891a3b7ec92e4862ee822b7e8dd1 (patch)
tree0f8c3214dc242151a085d479455fb89fd85503de /src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java
parent3687f2abb615d6c788bf0093ca5bf7ba33c60486 (diff)
Use the in-memory metadata in blaze as the source of truth for Fileset mappings
instead of the manifest files. RELNOTES: None PiperOrigin-RevId: 195149880
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.java20
1 files changed, 16 insertions, 4 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 105886a845..7c7150bffb 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
@@ -17,10 +17,12 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.MoreObjects;
import com.google.common.base.Objects;
import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.actions.ActionLookupData;
import com.google.devtools.build.lib.actions.ActionLookupValue;
import com.google.devtools.build.lib.actions.Artifact;
+import com.google.devtools.build.lib.actions.FilesetOutputSymlink;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
import com.google.devtools.build.lib.concurrent.ThreadSafety.ThreadSafe;
import com.google.devtools.build.skyframe.SkyKey;
@@ -63,22 +65,27 @@ public class ActionExecutionValue implements SkyValue {
*/
private final ImmutableMap<Artifact, FileArtifactValue> additionalOutputData;
+ @Nullable private final ImmutableList<FilesetOutputSymlink> outputSymlinks;
+
/**
* @param artifactData Map from Artifacts to corresponding FileValues.
* @param treeArtifactData All tree artifact data.
* @param additionalOutputData Map from Artifacts to values if the FileArtifactValue for this
* artifact cannot be derived from the corresponding FileValue (see {@link
- * ActionMetadataHandler#getAdditionalOutputData} for when this is necessary).
- * These output data are not used by the {@link FilesystemValueChecker}
- * to invalidate ActionExecutionValues.
+ * ActionMetadataHandler#getAdditionalOutputData} for when this is necessary). These output
+ * data are not used by the {@link FilesystemValueChecker} to invalidate
+ * ActionExecutionValues.
+ * @param outputSymlinks This represents the SymlinkTree which is the output of a fileset action.
*/
ActionExecutionValue(
Map<Artifact, FileValue> artifactData,
Map<Artifact, TreeArtifactValue> treeArtifactData,
- Map<Artifact, FileArtifactValue> additionalOutputData) {
+ Map<Artifact, FileArtifactValue> additionalOutputData,
+ @Nullable ImmutableList<FilesetOutputSymlink> outputSymlinks) {
this.artifactData = ImmutableMap.<Artifact, FileValue>copyOf(artifactData);
this.additionalOutputData = ImmutableMap.copyOf(additionalOutputData);
this.treeArtifactData = ImmutableMap.copyOf(treeArtifactData);
+ this.outputSymlinks = outputSymlinks;
}
/**
@@ -124,6 +131,11 @@ public class ActionExecutionValue implements SkyValue {
return treeArtifactData;
}
+ @Nullable
+ ImmutableList<FilesetOutputSymlink> getOutputSymlinks() {
+ return outputSymlinks;
+ }
+
/**
* @param lookupKey A {@link SkyKey} whose argument is an {@code ActionLookupKey}, whose
* corresponding {@code ActionLookupValue} contains the action to be executed.