aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/sandbox
diff options
context:
space:
mode:
authorGravatar ulfjack <ulfjack@google.com>2018-01-08 09:31:17 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-08 09:33:08 -0800
commit3e28868f63692b3a57a3d22a2dabc18395f24ceb (patch)
tree04352641789b9a6598772b692d08172264b035e2 /src/main/java/com/google/devtools/build/lib/sandbox
parent67330ad52391ad6562d439f77cc5133a0ea4247d (diff)
Use EmptyActionInput instead of null in SpawnInputExpander
This simplifies some spawn runners, which no longer have to specially handle null; unfortunately, the sandbox runners do not support VirtualActionInput, so they still have to special-case it. PiperOrigin-RevId: 181175408
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/sandbox')
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java
index 58906fddf2..31f2dcdfd1 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/SandboxHelpers.java
@@ -14,6 +14,7 @@
package com.google.devtools.build.lib.sandbox;
+import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.ImmutableSet.Builder;
import com.google.devtools.build.lib.actions.ActionExecutionContext;
@@ -22,6 +23,8 @@ import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.actions.Artifact.ArtifactExpander;
import com.google.devtools.build.lib.actions.Spawn;
import com.google.devtools.build.lib.actions.Spawns;
+import com.google.devtools.build.lib.actions.cache.VirtualActionInput;
+import com.google.devtools.build.lib.actions.cache.VirtualActionInput.EmptyActionInput;
import com.google.devtools.build.lib.analysis.test.TestConfiguration;
import com.google.devtools.build.lib.exec.SpawnInputExpander;
import com.google.devtools.build.lib.exec.SpawnRunner.SpawnExecutionPolicy;
@@ -97,8 +100,12 @@ public final class SandboxHelpers {
Map<PathFragment, Path> inputFiles = new TreeMap<>();
for (Map.Entry<PathFragment, ActionInput> e : inputMap.entrySet()) {
+ if (e.getValue() instanceof VirtualActionInput) {
+ // TODO(ulfjack): Handle all virtual inputs, e.g., by writing them to a file.
+ Preconditions.checkState(e.getValue() instanceof EmptyActionInput);
+ }
Path inputPath =
- e.getValue() == SpawnInputExpander.EMPTY_FILE
+ e.getValue() instanceof EmptyActionInput
? null
: execRoot.getRelative(e.getValue().getExecPath());
inputFiles.put(e.getKey(), inputPath);