diff options
author | ulfjack <ulfjack@google.com> | 2018-01-08 09:31:17 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-01-08 09:33:08 -0800 |
commit | 3e28868f63692b3a57a3d22a2dabc18395f24ceb (patch) | |
tree | 04352641789b9a6598772b692d08172264b035e2 /src/main/java/com/google/devtools/build/lib/sandbox | |
parent | 67330ad52391ad6562d439f77cc5133a0ea4247d (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.java | 9 |
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); |