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
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
index a846022..dca8074 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/BuildView.java
@@ -1099,10 +1099,15 @@
InconsistentAspectOrderException, ToolchainContextException {
BuildConfiguration targetConfig = target.getConfiguration();
CachingAnalysisEnvironment env =
- new CachingAnalysisEnvironment(getArtifactFactory(),
+ new CachingAnalysisEnvironment(
+ getArtifactFactory(),
+ skyframeExecutor.getActionKeyContext(),
new ConfiguredTargetKey(target.getLabel(), targetConfig),
- /*isSystemEnv=*/false, targetConfig.extendedSanityChecks(), eventHandler,
- /*env=*/null, targetConfig.isActionsEnabled());
+ /*isSystemEnv=*/ false,
+ targetConfig.extendedSanityChecks(),
+ eventHandler,
+ /*env=*/ null,
+ targetConfig.isActionsEnabled());
return getRuleContextForTesting(eventHandler, target, env, configurations);
}