diff options
author | felly <felly@google.com> | 2018-08-14 17:53:30 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-08-14 17:55:14 -0700 |
commit | 8dece49bed76b5f372ff5d3a3f25a32b2a9c1f52 (patch) | |
tree | ff4520a4d8a6ddd06a51cbe938408ee78e7fcbe8 /src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java | |
parent | 2734ceb1f890d1e953acd13d4dbe6c26c0c5d2e2 (diff) |
Automated rollback of commit 37bd5f665aa614c6dc640c9d19852dd8d5efb0d8.
*** Reason for rollback ***
Rollforward with fix: Don't use Immutable map builder to agggregate Filesets. We may reach the same one via direct and indirect runfiles, so we need to allow for duplicate entries.
*** Original change description ***
Automated rollback of commit 3bace1b937934fb2cea6260067ecc1cdbe526847.
*** Reason for rollback ***
b/112583337
RELNOTES: None
*** Original change description ***
Track Fileset in artifact expansion.
PiperOrigin-RevId: 208748163
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java index 57a9d47206..237915aeb0 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/CompletionFunction.java @@ -13,11 +13,13 @@ // limitations under the License. package com.google.devtools.build.lib.skyframe; +import com.google.common.collect.ImmutableList; import com.google.devtools.build.lib.actions.ActionExecutionException; import com.google.devtools.build.lib.actions.ActionInputMap; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.ArtifactPathResolver; import com.google.devtools.build.lib.actions.ArtifactSkyKey; +import com.google.devtools.build.lib.actions.FilesetOutputSymlink; import com.google.devtools.build.lib.actions.MissingInputFileException; import com.google.devtools.build.lib.analysis.AspectCompleteEvent; import com.google.devtools.build.lib.analysis.ConfiguredTarget; @@ -326,9 +328,11 @@ public final class CompletionFunction<TValue extends SkyValue, TResult extends S boolean createPathResolver = pathResolverFactory.shouldCreatePathResolverForArtifactValues(); ActionInputMap inputMap = null; Map<Artifact, Collection<Artifact>> expandedArtifacts = null; + Map<Artifact, ImmutableList<FilesetOutputSymlink>> expandedFilesets = null; if (createPathResolver) { inputMap = new ActionInputMap(inputDeps.size()); expandedArtifacts = new HashMap<>(); + expandedFilesets = new HashMap<>(); } int missingCount = 0; @@ -341,7 +345,13 @@ public final class CompletionFunction<TValue extends SkyValue, TResult extends S try { SkyValue artifactValue = depsEntry.getValue().get(); if (createPathResolver && artifactValue != null) { - ActionInputMapHelper.addToMap(inputMap, expandedArtifacts, input, artifactValue); + ActionInputMapHelper.addToMap( + inputMap, + expandedArtifacts, + expandedFilesets, + input, + artifactValue, + env); } } catch (MissingInputFileException e) { missingCount++; |