aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/actions
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/actions')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/BinaryFileWriteAction.java11
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/FileWriteAction.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/LauncherFileWriteAction.java10
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/LazyWritePathsFileAction.java16
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/ParameterFileWriteAction.java14
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactAction.java16
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java22
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkAction.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkTreeAction.java8
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionAction.java16
10 files changed, 53 insertions, 78 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/BinaryFileWriteAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/BinaryFileWriteAction.java
index 0df7abe34a..951b4c127e 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/BinaryFileWriteAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/BinaryFileWriteAction.java
@@ -71,21 +71,18 @@ public final class BinaryFileWriteAction extends AbstractFileWriteAction {
}
@Override
- protected String computeKey(ActionKeyContext actionKeyContext) {
- Fingerprint f = new Fingerprint();
- f.addString(GUID);
- f.addString(String.valueOf(makeExecutable));
+ protected void computeKey(ActionKeyContext actionKeyContext, Fingerprint fp) {
+ fp.addString(GUID);
+ fp.addString(String.valueOf(makeExecutable));
try (InputStream in = source.openStream()) {
byte[] buffer = new byte[512];
int amountRead;
while ((amountRead = in.read(buffer)) != -1) {
- f.addBytes(buffer, 0, amountRead);
+ fp.addBytes(buffer, 0, amountRead);
}
} catch (IOException e) {
throw new RuntimeException(e);
}
-
- return f.hexDigestAndReset();
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/FileWriteAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/FileWriteAction.java
index 6ba8be6741..5a75dffc0e 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/FileWriteAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/FileWriteAction.java
@@ -244,12 +244,10 @@ public final class FileWriteAction extends AbstractFileWriteAction {
/** Computes the Action key for this action by computing the fingerprint for the file contents. */
@Override
- protected String computeKey(ActionKeyContext actionKeyContext) {
- Fingerprint f = new Fingerprint();
- f.addString(GUID);
- f.addString(String.valueOf(makeExecutable));
- f.addString(getFileContents());
- return f.hexDigestAndReset();
+ protected void computeKey(ActionKeyContext actionKeyContext, Fingerprint fp) {
+ fp.addString(GUID);
+ fp.addString(String.valueOf(makeExecutable));
+ fp.addString(getFileContents());
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/LauncherFileWriteAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/LauncherFileWriteAction.java
index d674852f4e..5ad73764c1 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/LauncherFileWriteAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/LauncherFileWriteAction.java
@@ -87,16 +87,14 @@ public final class LauncherFileWriteAction extends AbstractFileWriteAction {
}
@Override
- protected String computeKey(ActionKeyContext actionKeyContext) {
- Fingerprint f = new Fingerprint();
- f.addString(GUID);
+ protected void computeKey(ActionKeyContext actionKeyContext, Fingerprint fp) {
+ fp.addString(GUID);
try {
- f.addBytes(this.launcher.getPath().getDigest());
+ fp.addBytes(this.launcher.getPath().getDigest());
} catch (IOException e) {
throw new RuntimeException(e);
}
- f.addString(this.launchInfo.fingerPrint);
- return f.hexDigestAndReset();
+ fp.addString(this.launchInfo.fingerPrint);
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/LazyWritePathsFileAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/LazyWritePathsFileAction.java
index be17d7dd2d..f351fb53ea 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/LazyWritePathsFileAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/LazyWritePathsFileAction.java
@@ -22,7 +22,6 @@ 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.CommandLineExpansionException;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.util.Fingerprint;
@@ -65,17 +64,12 @@ public final class LazyWritePathsFileAction extends AbstractFileWriteAction {
};
}
- /**
- * Computes the Action key for this action by computing the fingerprint for the file contents.
- */
+ /** Computes the Action key for this action by computing the fingerprint for the file contents. */
@Override
- protected String computeKey(ActionKeyContext actionKeyContext)
- throws CommandLineExpansionException {
- Fingerprint f = new Fingerprint();
- f.addString(GUID);
- f.addBoolean(includeDerivedArtifacts);
- f.addString(getContents());
- return f.hexDigestAndReset();
+ protected void computeKey(ActionKeyContext actionKeyContext, Fingerprint fp) {
+ fp.addString(GUID);
+ fp.addBoolean(includeDerivedArtifacts);
+ fp.addString(getContents());
}
private String getContents() {
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/ParameterFileWriteAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/ParameterFileWriteAction.java
index 03b2084064..7af135b67c 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/ParameterFileWriteAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/ParameterFileWriteAction.java
@@ -178,14 +178,12 @@ public final class ParameterFileWriteAction extends AbstractFileWriteAction {
}
@Override
- protected String computeKey(ActionKeyContext actionKeyContext)
+ protected void computeKey(ActionKeyContext actionKeyContext, Fingerprint fp)
throws CommandLineExpansionException {
- Fingerprint f = new Fingerprint();
- f.addString(GUID);
- f.addString(String.valueOf(makeExecutable));
- f.addString(type.toString());
- f.addString(charset.toString());
- commandLine.addToFingerprint(actionKeyContext, f);
- return f.hexDigestAndReset();
+ fp.addString(GUID);
+ fp.addString(String.valueOf(makeExecutable));
+ fp.addString(type.toString());
+ fp.addString(charset.toString());
+ commandLine.addToFingerprint(actionKeyContext, fp);
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactAction.java
index fb9dc28823..131830a41e 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/PopulateTreeArtifactAction.java
@@ -211,18 +211,16 @@ public final class PopulateTreeArtifactAction extends AbstractAction {
}
@Override
- protected String computeKey(ActionKeyContext actionKeyContext) {
- Fingerprint f = new Fingerprint();
- f.addString(GUID);
- f.addString(getMnemonic());
- f.addStrings(spawnCommandLine());
- f.addPaths(zipper.getRunfilesSupplier().getRunfilesDirs());
+ protected void computeKey(ActionKeyContext actionKeyContext, Fingerprint fp) {
+ fp.addString(GUID);
+ fp.addString(getMnemonic());
+ fp.addStrings(spawnCommandLine());
+ fp.addPaths(zipper.getRunfilesSupplier().getRunfilesDirs());
List<Artifact> runfilesManifests = zipper.getRunfilesSupplier().getManifests();
- f.addInt(runfilesManifests.size());
+ fp.addInt(runfilesManifests.size());
for (Artifact manifest : runfilesManifests) {
- f.addPath(manifest.getExecPath());
+ fp.addPath(manifest.getExecPath());
}
- return f.hexDigestAndReset();
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
index e991541ecc..3a5b225cdf 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnAction.java
@@ -328,25 +328,23 @@ public class SpawnAction extends AbstractAction implements ExecutionInfoSpecifie
}
@Override
- protected String computeKey(ActionKeyContext actionKeyContext)
+ protected void computeKey(ActionKeyContext actionKeyContext, Fingerprint fp)
throws CommandLineExpansionException {
- Fingerprint f = new Fingerprint();
- f.addString(GUID);
- argv.addToFingerprint(actionKeyContext, f);
- f.addString(getMnemonic());
+ fp.addString(GUID);
+ argv.addToFingerprint(actionKeyContext, fp);
+ fp.addString(getMnemonic());
// We don't need the toolManifests here, because they are a subset of the inputManifests by
// definition and the output of an action shouldn't change whether something is considered a
// tool or not.
- f.addPaths(getRunfilesSupplier().getRunfilesDirs());
+ fp.addPaths(getRunfilesSupplier().getRunfilesDirs());
ImmutableList<Artifact> runfilesManifests = getRunfilesSupplier().getManifests();
- f.addInt(runfilesManifests.size());
+ fp.addInt(runfilesManifests.size());
for (Artifact runfilesManifest : runfilesManifests) {
- f.addPath(runfilesManifest.getExecPath());
+ fp.addPath(runfilesManifest.getExecPath());
}
- f.addStringMap(getEnvironment());
- f.addStrings(getClientEnvironmentVariables());
- f.addStringMap(getExecutionInfo());
- return f.hexDigestAndReset();
+ fp.addStringMap(getEnvironment());
+ fp.addStrings(getClientEnvironmentVariables());
+ fp.addStringMap(getExecutionInfo());
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkAction.java
index 5a74e0b8b3..d0aba38bdc 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkAction.java
@@ -128,15 +128,13 @@ public class SymlinkAction extends AbstractAction {
}
@Override
- protected String computeKey(ActionKeyContext actionKeyContext) {
- Fingerprint f = new Fingerprint();
- f.addString(GUID);
+ protected void computeKey(ActionKeyContext actionKeyContext, Fingerprint fp) {
+ fp.addString(GUID);
// We don't normally need to add inputs to the key. In this case, however, the inputPath can be
// different from the actual input artifact.
if (inputPath != null) {
- f.addPath(inputPath);
+ fp.addPath(inputPath);
}
- return f.hexDigestAndReset();
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkTreeAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkTreeAction.java
index 3b2750df5a..60d75e1ede 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkTreeAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/SymlinkTreeAction.java
@@ -91,11 +91,9 @@ public final class SymlinkTreeAction extends AbstractAction {
}
@Override
- protected String computeKey(ActionKeyContext actionKeyContext) {
- Fingerprint f = new Fingerprint();
- f.addString(GUID);
- f.addInt(filesetTree ? 1 : 0);
- return f.hexDigestAndReset();
+ protected void computeKey(ActionKeyContext actionKeyContext, Fingerprint fp) {
+ fp.addString(GUID);
+ fp.addInt(filesetTree ? 1 : 0);
}
@Override
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionAction.java
index 644129157a..c5af5d1042 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/TemplateExpansionAction.java
@@ -439,17 +439,15 @@ public final class TemplateExpansionAction extends AbstractFileWriteAction {
}
@Override
- protected String computeKey(ActionKeyContext actionKeyContext) {
- Fingerprint f = new Fingerprint();
- f.addString(GUID);
- f.addString(String.valueOf(makeExecutable));
- f.addString(template.getKey());
- f.addInt(substitutions.size());
+ protected void computeKey(ActionKeyContext actionKeyContext, Fingerprint fp) {
+ fp.addString(GUID);
+ fp.addString(String.valueOf(makeExecutable));
+ fp.addString(template.getKey());
+ fp.addInt(substitutions.size());
for (Substitution entry : substitutions) {
- f.addString(entry.getKey());
- f.addString(entry.getValue());
+ fp.addString(entry.getKey());
+ fp.addString(entry.getValue());
}
- return f.hexDigestAndReset();
}
@Override