diff options
author | tomlu <tomlu@google.com> | 2017-11-29 14:01:21 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2017-11-29 14:03:30 -0800 |
commit | 3d1a194ff9e76f25f1a7242ff2d021523ba8e4a0 (patch) | |
tree | 9fec583a59b8ee6ee0f4fac513d5471956dfe1d3 /src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java | |
parent | 8f8b8859fc7d85feee97481443fb11c0b7ae03ce (diff) |
Add ActionKeyContext to Action#getKey.
This key context can be used by actions to share partial key computations, for instance when computing MD5s for nested sets.
RELNOTES: None
PiperOrigin-RevId: 177359607
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java index d70683c7dd..dab170e97a 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java @@ -19,7 +19,7 @@ import com.google.common.base.Supplier; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; -import com.google.devtools.build.lib.actions.ActionAnalysisMetadata; +import com.google.devtools.build.lib.actions.ActionKeyContext; import com.google.devtools.build.lib.actions.ActionLookupValue; import com.google.devtools.build.lib.analysis.AliasProvider; import com.google.devtools.build.lib.analysis.AspectResolver; @@ -217,7 +217,12 @@ public final class AspectFunction implements SkyFunction { Target target = associatedTarget.getTarget(); if (configuredTargetValue.getConfiguredTarget().getProvider(AliasProvider.class) != null) { - return createAliasAspect(env, target, aspect, key, + return createAliasAspect( + env, + view.getActionKeyContext(), + target, + aspect, + key, configuredTargetValue.getConfiguredTarget()); } @@ -322,6 +327,7 @@ public final class AspectFunction implements SkyFunction { return createAspect( env, + view.getActionKeyContext(), key, aspectPath, aspect, @@ -407,6 +413,7 @@ public final class AspectFunction implements SkyFunction { private SkyValue createAliasAspect( Environment env, + ActionKeyContext actionKeyContext, Target originalTarget, Aspect aspect, AspectKey originalKey, @@ -438,7 +445,8 @@ public final class AspectFunction implements SkyFunction { originalTarget.getLabel(), originalTarget.getLocation(), ConfiguredAspect.forAlias(real.getConfiguredAspect()), - ImmutableList.<ActionAnalysisMetadata>of(), + actionKeyContext, + ImmutableList.of(), transitivePackages, removeActionsAfterEvaluation.get()); } @@ -446,6 +454,7 @@ public final class AspectFunction implements SkyFunction { @Nullable private AspectValue createAspect( Environment env, + ActionKeyContext actionKeyContext, AspectKey key, ImmutableList<Aspect> aspectPath, Aspect aspect, @@ -513,6 +522,7 @@ public final class AspectFunction implements SkyFunction { associatedTarget.getLabel(), associatedTarget.getTarget().getLocation(), configuredAspect, + actionKeyContext, ImmutableList.copyOf(analysisEnvironment.getRegisteredActions()), transitivePackages.build(), removeActionsAfterEvaluation.get()); |