diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ArtifactFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/ArtifactFunction.java | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactFunction.java index ac2f4cdab4..c153135c09 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ArtifactFunction.java @@ -53,11 +53,11 @@ class ArtifactFunction implements SkyFunction { @Override public SkyValue compute(SkyKey skyKey, Environment env) throws ArtifactFunctionException, InterruptedException { - Artifact artifact = ArtifactSkyKey.artifact(skyKey); - boolean isMandatory = ArtifactSkyKey.isMandatory(skyKey); + ArtifactSkyKey artifactSkyKey = (ArtifactSkyKey) skyKey.argument(); + Artifact artifact = artifactSkyKey.getArtifact(); if (artifact.isSourceArtifact()) { try { - return createSourceValue(artifact, isMandatory, env); + return createSourceValue(artifact, artifactSkyKey.isMandatory(), env); } catch (MissingInputFileException e) { // The error is not necessarily truly transient, but we mark it as such because we have // the above side effect of posting an event to the EventBus. Importantly, that event @@ -279,7 +279,8 @@ class ArtifactFunction implements SkyFunction { throws InterruptedException { // This artifact aggregates other artifacts. Keep track of them so callers can find them. ImmutableList.Builder<Pair<Artifact, FileArtifactValue>> inputs = ImmutableList.builder(); - for (Map.Entry<SkyKey, SkyValue> entry : env.getValues(action.getInputs()).entrySet()) { + for (Map.Entry<SkyKey, SkyValue> entry : + env.getValues(ArtifactSkyKey.mandatoryKeys(action.getInputs())).entrySet()) { Artifact input = ArtifactSkyKey.artifact(entry.getKey()); SkyValue inputValue = entry.getValue(); Preconditions.checkNotNull(inputValue, "%s has null dep %s", artifact, input); @@ -315,7 +316,7 @@ class ArtifactFunction implements SkyFunction { @Override public String extractTag(SkyKey skyKey) { - return Label.print(ArtifactSkyKey.artifact(skyKey).getOwner()); + return Label.print(((ArtifactSkyKey) skyKey.argument()).getArtifact().getOwner()); } static ActionLookupKey getActionLookupKey(Artifact artifact) { |