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/BuildInfoCollectionFunction.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/BuildInfoCollectionFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java index e7796b4c56..62878a5fe2 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/BuildInfoCollectionFunction.java @@ -16,6 +16,7 @@ package com.google.devtools.build.lib.skyframe; import com.google.common.base.Preconditions; import com.google.common.base.Supplier; import com.google.common.collect.ImmutableMap; +import com.google.devtools.build.lib.actions.ActionKeyContext; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.actions.ArtifactFactory; import com.google.devtools.build.lib.actions.Root; @@ -36,15 +37,18 @@ import com.google.devtools.build.skyframe.SkyValue; * injected value. */ public class BuildInfoCollectionFunction implements SkyFunction { + private final ActionKeyContext actionKeyContext; // Supplier only because the artifact factory has not yet been created at constructor time. private final Supplier<ArtifactFactory> artifactFactory; private final Supplier<Boolean> removeActionsAfterEvaluation; private final ImmutableMap<BuildInfoKey, BuildInfoFactory> buildInfoFactories; BuildInfoCollectionFunction( + ActionKeyContext actionKeyContext, Supplier<ArtifactFactory> artifactFactory, ImmutableMap<BuildInfoKey, BuildInfoFactory> buildInfoFactories, Supplier<Boolean> removeActionsAfterEvaluation) { + this.actionKeyContext = actionKeyContext; this.artifactFactory = artifactFactory; this.buildInfoFactories = buildInfoFactories; this.removeActionsAfterEvaluation = Preconditions.checkNotNull(removeActionsAfterEvaluation); @@ -77,6 +81,7 @@ public class BuildInfoCollectionFunction implements SkyFunction { }; return new BuildInfoCollectionValue( + actionKeyContext, buildInfoFactories .get(keyAndConfig.getInfoKey()) .create( |