Clean up callers of ActionAnalysisMetadata.getExecutionInfo since it no longer returns null.
PiperOrigin-RevId: 416803988
diff --git a/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java b/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
index 3dc5903..7787ab2 100644
--- a/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
+++ b/src/main/java/com/google/devtools/build/lib/actions/AbstractAction.java
@@ -692,10 +692,7 @@
@Override
public Dict<String, String> getExecutionInfoDict() {
- Map<String, String> executionInfo = getExecutionInfo();
- if (executionInfo == null) {
- return null;
- }
+ ImmutableMap<String, String> executionInfo = getExecutionInfo();
return Dict.immutableCopyOf(executionInfo);
}
diff --git a/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java b/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java
index 569e419..2452e18 100644
--- a/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/exec/StandaloneTestStrategy.java
@@ -586,7 +586,7 @@
action,
args,
ImmutableMap.copyOf(testEnvironment),
- ImmutableMap.copyOf(action.getExecutionInfo()),
+ action.getExecutionInfo(),
action.getLcovMergerRunfilesSupplier(),
/* filesetMappings= */ ImmutableMap.of(),
/* inputs= */ NestedSetBuilder.<ActionInput>compileOrder()
diff --git a/src/main/java/com/google/devtools/build/lib/includescanning/SpawnIncludeScanner.java b/src/main/java/com/google/devtools/build/lib/includescanning/SpawnIncludeScanner.java
index f0c65f9..3aa231b 100644
--- a/src/main/java/com/google/devtools/build/lib/includescanning/SpawnIncludeScanner.java
+++ b/src/main/java/com/google/devtools/build/lib/includescanning/SpawnIncludeScanner.java
@@ -362,9 +362,7 @@
fileType.getFileType());
ImmutableMap.Builder<String, String> execInfoBuilder = ImmutableMap.builder();
- if (resourceOwner.getExecutionInfo() != null && !resourceOwner.getExecutionInfo().isEmpty()) {
- execInfoBuilder.putAll(resourceOwner.getExecutionInfo());
- }
+ execInfoBuilder.putAll(resourceOwner.getExecutionInfo());
if (inMemoryOutput) {
execInfoBuilder.put(
ExecutionRequirements.REMOTE_EXECUTION_INLINE_OUTPUTS,
diff --git a/src/main/java/com/google/devtools/build/lib/query2/aquery/ActionGraphTextOutputFormatterCallback.java b/src/main/java/com/google/devtools/build/lib/query2/aquery/ActionGraphTextOutputFormatterCallback.java
index ded3b54..91ec8a1 100644
--- a/src/main/java/com/google/devtools/build/lib/query2/aquery/ActionGraphTextOutputFormatterCallback.java
+++ b/src/main/java/com/google/devtools/build/lib/query2/aquery/ActionGraphTextOutputFormatterCallback.java
@@ -16,6 +16,7 @@
import static java.nio.charset.StandardCharsets.UTF_8;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.google.common.collect.Streams;
import com.google.devtools.build.lib.actions.AbstractAction;
@@ -48,7 +49,6 @@
import java.util.Map;
import java.util.Map.Entry;
import java.util.Objects;
-import java.util.Set;
import java.util.stream.Collectors;
/** Output callback for aquery, prints human readable output. */
@@ -234,24 +234,22 @@
.collect(Collectors.joining(", ")))
.append("]\n");
}
- if (abstractAction.getExecutionInfo() != null) {
- Set<Entry<String, String>> executionInfoSpecifiers =
- abstractAction.getExecutionInfo().entrySet();
- if (!executionInfoSpecifiers.isEmpty()) {
- stringBuilder
- .append(" ExecutionInfo: {")
- .append(
- executionInfoSpecifiers.stream()
- .sorted(Map.Entry.comparingByKey())
- .map(
- e ->
- String.format(
- "%s: %s",
- ShellEscaper.escapeString(e.getKey()),
- ShellEscaper.escapeString(e.getValue())))
- .collect(Collectors.joining(", ")))
- .append("}\n");
- }
+ ImmutableSet<Entry<String, String>> executionInfoSpecifiers =
+ abstractAction.getExecutionInfo().entrySet();
+ if (!executionInfoSpecifiers.isEmpty()) {
+ stringBuilder
+ .append(" ExecutionInfo: {")
+ .append(
+ executionInfoSpecifiers.stream()
+ .sorted(Map.Entry.comparingByKey())
+ .map(
+ e ->
+ String.format(
+ "%s: %s",
+ ShellEscaper.escapeString(e.getKey()),
+ ShellEscaper.escapeString(e.getValue())))
+ .collect(Collectors.joining(", ")))
+ .append("}\n");
}
}
if (options.includeCommandline && action instanceof CommandAction) {
@@ -287,7 +285,7 @@
}
}
Map<String, String> executionInfo = action.getExecutionInfo();
- if (executionInfo != null && !executionInfo.isEmpty()) {
+ if (!executionInfo.isEmpty()) {
stringBuilder
.append(" ExecutionInfo: {")
.append(
diff --git a/src/main/java/com/google/devtools/build/lib/remote/RemoteExecutionService.java b/src/main/java/com/google/devtools/build/lib/remote/RemoteExecutionService.java
index 8ae28be..7600cc9 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/RemoteExecutionService.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/RemoteExecutionService.java
@@ -357,7 +357,7 @@
}
public static boolean shouldUploadLocalResults(
- RemoteOptions remoteOptions, @Nullable Map<String, String> executionInfo) {
+ RemoteOptions remoteOptions, Map<String, String> executionInfo) {
if (useRemoteCache(remoteOptions)) {
if (useDiskCache(remoteOptions)) {
return shouldUploadLocalResultsToCombinedDisk(remoteOptions, executionInfo);
diff --git a/src/main/java/com/google/devtools/build/lib/remote/util/Utils.java b/src/main/java/com/google/devtools/build/lib/remote/util/Utils.java
index 8c4099a..d72002c 100644
--- a/src/main/java/com/google/devtools/build/lib/remote/util/Utils.java
+++ b/src/main/java/com/google/devtools/build/lib/remote/util/Utils.java
@@ -598,11 +598,10 @@
}
public static boolean shouldUploadLocalResultsToRemoteCache(
- RemoteOptions remoteOptions, @Nullable Map<String, String> executionInfo) {
+ RemoteOptions remoteOptions, Map<String, String> executionInfo) {
return remoteOptions.remoteUploadLocalResults
- && (executionInfo == null
- || (Spawns.mayBeCachedRemotely(executionInfo)
- && !executionInfo.containsKey(ExecutionRequirements.NO_REMOTE_CACHE_UPLOAD)));
+ && Spawns.mayBeCachedRemotely(executionInfo)
+ && !executionInfo.containsKey(ExecutionRequirements.NO_REMOTE_CACHE_UPLOAD);
}
public static boolean shouldUploadLocalResultsToRemoteCache(
@@ -615,12 +614,11 @@
}
public static boolean shouldUploadLocalResultsToDiskCache(
- RemoteOptions remoteOptions, @Nullable Map<String, String> executionInfo) {
+ RemoteOptions remoteOptions, Map<String, String> executionInfo) {
if (remoteOptions.incompatibleRemoteResultsIgnoreDisk) {
- return executionInfo == null || Spawns.mayBeCached(executionInfo);
+ return Spawns.mayBeCached(executionInfo);
} else {
- return remoteOptions.remoteUploadLocalResults
- && (executionInfo == null || Spawns.mayBeCached(executionInfo));
+ return remoteOptions.remoteUploadLocalResults && Spawns.mayBeCached(executionInfo);
}
}
@@ -634,7 +632,7 @@
}
public static boolean shouldUploadLocalResultsToCombinedDisk(
- RemoteOptions remoteOptions, @Nullable Map<String, String> executionInfo) {
+ RemoteOptions remoteOptions, Map<String, String> executionInfo) {
if (remoteOptions.incompatibleRemoteResultsIgnoreDisk) {
// If --incompatible_remote_results_ignore_disk is set, we treat the disk cache part as local
// cache. Actions which are tagged with `no-remote-cache` can still hit the disk cache.
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/actiongraph/v2/ActionGraphDump.java b/src/main/java/com/google/devtools/build/lib/skyframe/actiongraph/v2/ActionGraphDump.java
index 53f6879..5b326c5 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/actiongraph/v2/ActionGraphDump.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/actiongraph/v2/ActionGraphDump.java
@@ -193,13 +193,11 @@
}
}
Map<String, String> executionInfo = action.getExecutionInfo();
- if (executionInfo != null) {
- for (Map.Entry<String, String> info : executionInfo.entrySet()) {
- actionBuilder.addExecutionInfo(
- AnalysisProtosV2.KeyValuePair.newBuilder()
- .setKey(info.getKey())
- .setValue(info.getValue()));
- }
+ for (Map.Entry<String, String> info : executionInfo.entrySet()) {
+ actionBuilder.addExecutionInfo(
+ AnalysisProtosV2.KeyValuePair.newBuilder()
+ .setKey(info.getKey())
+ .setValue(info.getValue()));
}
ActionOwner actionOwner = action.getOwner();
diff --git a/src/test/java/com/google/devtools/build/lib/rules/apple/AppleRulesTest.java b/src/test/java/com/google/devtools/build/lib/rules/apple/AppleRulesTest.java
index db1a95f..43c4f9b 100644
--- a/src/test/java/com/google/devtools/build/lib/rules/apple/AppleRulesTest.java
+++ b/src/test/java/com/google/devtools/build/lib/rules/apple/AppleRulesTest.java
@@ -127,11 +127,9 @@
for (ActionAnalysisMetadata action : actions) {
assertThat(action).isInstanceOf(AbstractAction.class);
- if (action.getExecutionInfo() != null
- && action.getExecutionInfo().containsKey("requires-darwin")) {
- assertThat(((AbstractAction) action).getExecutionInfo())
- .containsKey("supports-xcode-requirements-set");
- assertThat(((AbstractAction) action).getExecutionInfo()).containsKey("no-remote");
+ if (action.getExecutionInfo().containsKey("requires-darwin")) {
+ assertThat(action.getExecutionInfo()).containsKey("supports-xcode-requirements-set");
+ assertThat(action.getExecutionInfo()).containsKey("no-remote");
}
}
}
diff --git a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkActionProviderTest.java b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkActionProviderTest.java
index 005720b..d854866 100644
--- a/src/test/java/com/google/devtools/build/lib/starlark/StarlarkActionProviderTest.java
+++ b/src/test/java/com/google/devtools/build/lib/starlark/StarlarkActionProviderTest.java
@@ -75,7 +75,6 @@
ActionAnalysisMetadata action = actions.get(0);
assertThat(action.getMnemonic()).isEqualTo("Genrule");
assertThat(action).isInstanceOf(AbstractAction.class);
- assertThat(((AbstractAction) action).getExecutionInfo()).isNotNull();
}
@Test