aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
diff options
context:
space:
mode:
authorGravatar tomlu <tomlu@google.com>2017-11-29 14:01:21 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2017-11-29 14:03:30 -0800
commit3d1a194ff9e76f25f1a7242ff2d021523ba8e4a0 (patch)
tree9fec583a59b8ee6ee0f4fac513d5471956dfe1d3 /src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
parent8f8b8859fc7d85feee97481443fb11c0b7ae03ce (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.java16
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());