aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules
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/rules
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/rules')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/AndroidDeployInfoAction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/android/WriteAdbArgsAction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java20
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CppModuleMapAction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkAction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/ExtractInclusionAction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/FdoStubAction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/LtoBackendAction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/UmbrellaHeaderAction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/cpp/WriteBuildInfoHeaderAction.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/BuildInfoPropertiesTranslator.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileAction.java5
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/java/WriteBuildInfoPropertiesAction.java3
17 files changed, 47 insertions, 34 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDeployInfoAction.java b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDeployInfoAction.java
index 8fb0b4cc2c..ef2a4c99c4 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDeployInfoAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/AndroidDeployInfoAction.java
@@ -18,6 +18,7 @@ import com.google.common.annotations.VisibleForTesting;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.Action;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.RuleContext;
@@ -105,7 +106,7 @@ public final class AndroidDeployInfoAction extends AbstractFileWriteAction {
}
@Override
- protected String computeKey() {
+ protected String computeKey(ActionKeyContext actionKeyContext) {
Fingerprint f = new Fingerprint()
.addString(GUID);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/android/WriteAdbArgsAction.java b/src/main/java/com/google/devtools/build/lib/rules/android/WriteAdbArgsAction.java
index 868d6eedea..87ef7e7e9f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/android/WriteAdbArgsAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/android/WriteAdbArgsAction.java
@@ -15,6 +15,7 @@ package com.google.devtools.build.lib.rules.android;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.ExecException;
@@ -185,7 +186,7 @@ public final class WriteAdbArgsAction extends AbstractFileWriteAction {
}
@Override
- protected String computeKey() {
+ protected String computeKey(ActionKeyContext actionKeyContext) {
return new Fingerprint()
.addString(GUID)
.hexDigestAndReset();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
index 8d35075d9a..667ef4d10f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppCompileAction.java
@@ -25,6 +25,7 @@ import com.google.common.collect.Sets;
import com.google.devtools.build.lib.actions.AbstractAction;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ActionExecutionException;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionLookupValue;
import com.google.devtools.build.lib.actions.ActionLookupValue.ActionLookupKey;
import com.google.devtools.build.lib.actions.ActionOwner;
@@ -704,7 +705,7 @@ public class CppCompileAction extends AbstractAction
}
@Override
- public ExtraActionInfo.Builder getExtraActionInfo() {
+ public ExtraActionInfo.Builder getExtraActionInfo(ActionKeyContext actionKeyContext) {
CppCompileInfo.Builder info = CppCompileInfo.newBuilder();
info.setTool(gccToolPath.getPathString());
for (String option : getCompilerOptions()) {
@@ -728,7 +729,8 @@ public class CppCompileAction extends AbstractAction
}
try {
- return super.getExtraActionInfo().setExtension(CppCompileInfo.cppCompileInfo, info.build());
+ return super.getExtraActionInfo(actionKeyContext)
+ .setExtension(CppCompileInfo.cppCompileInfo, info.build());
} catch (CommandLineExpansionException e) {
throw new AssertionError("CppCompileAction command line expansion cannot fail.");
}
@@ -1051,7 +1053,7 @@ public class CppCompileAction extends AbstractAction
}
@Override
- public String computeKey() {
+ public String computeKey(ActionKeyContext actionKeyContext) {
Fingerprint f = new Fingerprint();
f.addUUID(actionClassId);
f.addStringMap(getEnvironment());
@@ -1075,17 +1077,11 @@ public class CppCompileAction extends AbstractAction
*/
f.addPaths(context.getDeclaredIncludeDirs());
f.addPaths(context.getDeclaredIncludeWarnDirs());
- for (Artifact declaredIncludeSrc : context.getDeclaredIncludeSrcs()) {
- f.addPath(declaredIncludeSrc.getExecPath());
- }
+ actionKeyContext.addArtifactsToFingerprint(f, context.getDeclaredIncludeSrcs());
f.addInt(0); // mark the boundary between input types
- for (Artifact input : getMandatoryInputs()) {
- f.addPath(input.getExecPath());
- }
+ actionKeyContext.addArtifactsToFingerprint(f, getMandatoryInputs());
f.addInt(0);
- for (Artifact input : prunableInputs) {
- f.addPath(input.getExecPath());
- }
+ actionKeyContext.addArtifactsToFingerprint(f, prunableInputs);
return f.hexDigestAndReset();
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
index a9d05580f5..644a1b3298 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppLinkAction.java
@@ -25,6 +25,7 @@ import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.actions.AbstractAction;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ActionExecutionException;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.ActionResult;
import com.google.devtools.build.lib.actions.Artifact;
@@ -416,7 +417,7 @@ public final class CppLinkAction extends AbstractAction
}
@Override
- public ExtraActionInfo.Builder getExtraActionInfo() {
+ public ExtraActionInfo.Builder getExtraActionInfo(ActionKeyContext actionKeyContext) {
// The uses of getLinkConfiguration in this method may not be consistent with the computed key.
// I.e., this may be incrementally incorrect.
CppLinkInfo.Builder info = CppLinkInfo.newBuilder();
@@ -435,7 +436,8 @@ public final class CppLinkAction extends AbstractAction
info.addAllLinkOpt(getLinkCommandLine().getRawLinkArgv());
try {
- return super.getExtraActionInfo().setExtension(CppLinkInfo.cppLinkInfo, info.build());
+ return super.getExtraActionInfo(actionKeyContext)
+ .setExtension(CppLinkInfo.cppLinkInfo, info.build());
} catch (CommandLineExpansionException e) {
throw new AssertionError("CppLinkAction command line expansion cannot fail.");
}
@@ -447,7 +449,7 @@ public final class CppLinkAction extends AbstractAction
}
@Override
- protected String computeKey() {
+ protected String computeKey(ActionKeyContext actionKeyContext) {
Fingerprint f = new Fingerprint();
f.addString(fake ? FAKE_LINK_GUID : LINK_GUID);
f.addString(ldExecutable.getPathString());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModuleMapAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModuleMapAction.java
index 8df91f4995..a51da6d550 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModuleMapAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CppModuleMapAction.java
@@ -19,6 +19,7 @@ import com.google.common.base.Strings;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.Artifact.ArtifactExpander;
@@ -225,7 +226,7 @@ public final class CppModuleMapAction extends AbstractFileWriteAction {
}
@Override
- protected String computeKey() {
+ protected String computeKey(ActionKeyContext actionKeyContext) {
Fingerprint f = new Fingerprint();
f.addString(GUID);
f.addInt(privateHeaders.size());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkAction.java
index 4ef967709c..d2849481a8 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkAction.java
@@ -21,6 +21,7 @@ import com.google.common.collect.ImmutableSortedMap;
import com.google.devtools.build.lib.actions.AbstractAction;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ActionExecutionException;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.ActionResult;
import com.google.devtools.build.lib.actions.Artifact;
@@ -83,7 +84,7 @@ public final class CreateIncSymlinkAction extends AbstractAction {
}
@Override
- public String computeKey() {
+ public String computeKey(ActionKeyContext actionKeyContext) {
Fingerprint key = new Fingerprint();
for (Map.Entry<Artifact, Artifact> entry : symlinks.entrySet()) {
key.addPath(entry.getKey().getPath());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/ExtractInclusionAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/ExtractInclusionAction.java
index 1bd76c280c..c76ef3dfdf 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/ExtractInclusionAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/ExtractInclusionAction.java
@@ -18,6 +18,7 @@ import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.AbstractAction;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ActionExecutionException;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.ActionResult;
import com.google.devtools.build.lib.actions.Artifact;
@@ -50,7 +51,7 @@ final class ExtractInclusionAction extends AbstractAction {
}
@Override
- protected String computeKey() {
+ protected String computeKey(ActionKeyContext actionKeyContext) {
return GUID;
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoStubAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoStubAction.java
index 2c014f917b..3997c5130e 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoStubAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/FdoStubAction.java
@@ -16,6 +16,7 @@ package com.google.devtools.build.lib.rules.cpp;
import com.google.common.collect.ImmutableList;
import com.google.devtools.build.lib.actions.AbstractAction;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.ActionResult;
import com.google.devtools.build.lib.actions.Artifact;
@@ -55,7 +56,7 @@ public final class FdoStubAction extends AbstractAction {
}
@Override
- protected String computeKey() {
+ protected String computeKey(ActionKeyContext actionKeyContext) {
return "fdoStubAction";
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/LtoBackendAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/LtoBackendAction.java
index 10029ab109..70586b8efb 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/LtoBackendAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/LtoBackendAction.java
@@ -21,6 +21,7 @@ import com.google.devtools.build.lib.actions.AbstractAction;
import com.google.devtools.build.lib.actions.ActionEnvironment;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ActionExecutionException;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.CommandLineExpansionException;
@@ -165,7 +166,7 @@ public final class LtoBackendAction extends SpawnAction {
}
@Override
- protected String computeKey() {
+ protected String computeKey(ActionKeyContext actionKeyContext) {
Fingerprint f = new Fingerprint();
f.addString(GUID);
try {
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java
index df3a3bf65c..7f14ee22b0 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.lib.actions.AbstractAction;
import com.google.devtools.build.lib.actions.ActionAnalysisMetadata;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ActionExecutionException;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.ActionResult;
import com.google.devtools.build.lib.actions.Actions;
@@ -67,9 +68,8 @@ public final class SolibSymlinkAction extends AbstractAction {
return ActionResult.EMPTY;
}
-
@Override
- protected String computeKey() {
+ protected String computeKey(ActionKeyContext actionKeyContext) {
Fingerprint f = new Fingerprint();
f.addPath(symlink.getPath());
f.addPath(target);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/UmbrellaHeaderAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/UmbrellaHeaderAction.java
index eada861fc1..a77e6443f7 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/UmbrellaHeaderAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/UmbrellaHeaderAction.java
@@ -18,6 +18,7 @@ import static com.google.common.collect.ImmutableList.toImmutableList;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Streams;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.Artifact.ArtifactExpander;
@@ -109,7 +110,7 @@ public final class UmbrellaHeaderAction extends AbstractFileWriteAction {
}
@Override
- protected String computeKey() {
+ protected String computeKey(ActionKeyContext actionKeyContext) {
Fingerprint f = new Fingerprint();
f.addString(GUID);
f.addPath(umbrellaHeader.getExecPath());
diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/WriteBuildInfoHeaderAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/WriteBuildInfoHeaderAction.java
index acbed8e936..03a3594086 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/cpp/WriteBuildInfoHeaderAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/WriteBuildInfoHeaderAction.java
@@ -20,6 +20,7 @@ import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.WorkspaceStatusAction;
@@ -135,7 +136,7 @@ public final class WriteBuildInfoHeaderAction extends AbstractFileWriteAction {
}
@Override
- protected String computeKey() {
+ protected String computeKey(ActionKeyContext actionKeyContext) {
Fingerprint f = new Fingerprint();
f.addString(GUID);
f.addBoolean(writeStableInfo);
diff --git a/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java b/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java
index d4938d5bd1..f14db5ab54 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/genquery/GenQuery.java
@@ -23,6 +23,7 @@ import com.google.common.collect.Iterables;
import com.google.common.collect.Maps;
import com.google.common.collect.Sets;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
@@ -375,7 +376,7 @@ public class GenQuery implements RuleConfiguredTargetFactory {
}
@Override
- protected String computeKey() {
+ protected String computeKey(ActionKeyContext actionKeyContext) {
Fingerprint f = new Fingerprint();
f.addBytes(result.toByteArray());
return f.hexDigestAndReset();
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/BuildInfoPropertiesTranslator.java b/src/main/java/com/google/devtools/build/lib/rules/java/BuildInfoPropertiesTranslator.java
index 3f7b088dc7..a476aae44c 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/BuildInfoPropertiesTranslator.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/BuildInfoPropertiesTranslator.java
@@ -13,6 +13,7 @@
// limitations under the License.
package com.google.devtools.build.lib.rules.java;
+import com.google.devtools.build.lib.actions.ActionExecutionMetadata;
import java.util.Map;
import java.util.Properties;
@@ -26,8 +27,8 @@ public interface BuildInfoPropertiesTranslator {
public void translate(Map<String, String> buildInfo, Properties properties);
/**
- * Returns a unique key for this translator to be used by the
- * {@link com.google.devtools.build.lib.actions.Action#getKey()} method
+ * Returns a unique key for this translator to be used by the {@link
+ * ActionExecutionMetadata#getKey(com.google.devtools.build.lib.actions.ActionKeyContext)} method.
*/
public String computeKey();
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java
index 20324ac641..f9d634980b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaCompileAction.java
@@ -30,6 +30,7 @@ import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.actions.Action;
import com.google.devtools.build.lib.actions.ActionEnvironment;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.ArtifactOwner;
@@ -359,7 +360,7 @@ public final class JavaCompileAction extends SpawnAction {
}
@Override
- public ExtraActionInfo.Builder getExtraActionInfo() {
+ public ExtraActionInfo.Builder getExtraActionInfo(ActionKeyContext actionKeyContext) {
JavaCompileInfo.Builder info = JavaCompileInfo.newBuilder();
info.addAllSourceFile(Artifact.toExecPaths(getSourceFiles()));
info.addAllClasspath(Artifact.toExecPaths(getClasspath()));
@@ -371,7 +372,8 @@ public final class JavaCompileAction extends SpawnAction {
info.setOutputjar(getOutputJar().getExecPathString());
try {
- return super.getExtraActionInfo().setExtension(JavaCompileInfo.javaCompileInfo, info.build());
+ return super.getExtraActionInfo(actionKeyContext)
+ .setExtension(JavaCompileInfo.javaCompileInfo, info.build());
} catch (CommandLineExpansionException e) {
throw new AssertionError("JavaCompileAction command line expansion cannot fail");
}
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileAction.java b/src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileAction.java
index 1d4272178e..90975adf9b 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/JavaHeaderCompileAction.java
@@ -26,6 +26,7 @@ import com.google.common.collect.ImmutableSet;
import com.google.devtools.build.lib.actions.Action;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ActionInput;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.BaseSpawn;
@@ -124,10 +125,10 @@ public class JavaHeaderCompileAction extends SpawnAction {
}
@Override
- protected String computeKey() {
+ protected String computeKey(ActionKeyContext actionKeyContext) {
Fingerprint f = new Fingerprint().addString(GUID);
try {
- f.addString(super.computeKey());
+ f.addString(super.computeKey(actionKeyContext));
f.addStrings(directCommandLine.arguments());
} catch (CommandLineExpansionException e) {
throw new AssertionError("JavaHeaderCompileAction command line expansion cannot fail");
diff --git a/src/main/java/com/google/devtools/build/lib/rules/java/WriteBuildInfoPropertiesAction.java b/src/main/java/com/google/devtools/build/lib/rules/java/WriteBuildInfoPropertiesAction.java
index 26be2aba3f..7480361f8a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/java/WriteBuildInfoPropertiesAction.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/java/WriteBuildInfoPropertiesAction.java
@@ -20,6 +20,7 @@ import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
+import com.google.devtools.build.lib.actions.ActionKeyContext;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.BuildInfo;
@@ -190,7 +191,7 @@ public class WriteBuildInfoPropertiesAction extends AbstractFileWriteAction {
}
@Override
- protected String computeKey() {
+ protected String computeKey(ActionKeyContext actionKeyContext) {
Fingerprint f = new Fingerprint();
f.addString(GUID);
f.addString(keyTranslations.computeKey());