diff options
author | kush <kush@google.com> | 2018-05-02 14:15:37 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-05-02 14:17:43 -0700 |
commit | 2ce45a21dbd6891a3b7ec92e4862ee822b7e8dd1 (patch) | |
tree | 0f8c3214dc242151a085d479455fb89fd85503de /src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionValue.java | |
parent | 3687f2abb615d6c788bf0093ca5bf7ba33c60486 (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.java | 20 |
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. |