aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/actions
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2018-02-05 09:33:15 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-05 09:35:15 -0800
commitac09f0a1b39092aa92cd86ffe51b30488e3ae312 (patch)
tree5da2c93a53102c82258a2637b9e853c7bfb2dd2c /src/main/java/com/google/devtools/build/lib/analysis/actions
parent98f703b46e08b6795af609b6f453ce3884f28a28 (diff)
Add type assertion that TreeFileArtifact's parentTreeArtifact member is a
SpecialArtifact. PiperOrigin-RevId: 184539696
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/PopulateTreeArtifactAction.java9
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplate.java17
2 files changed, 14 insertions, 12 deletions
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 5ba555fcd3..fb5eafda48 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
@@ -30,6 +30,7 @@ import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.ActionResult;
import com.google.devtools.build.lib.actions.Actions;
import com.google.devtools.build.lib.actions.Artifact;
+import com.google.devtools.build.lib.actions.Artifact.SpecialArtifact;
import com.google.devtools.build.lib.actions.Artifact.TreeFileArtifact;
import com.google.devtools.build.lib.actions.ArtifactPrefixConflictException;
import com.google.devtools.build.lib.actions.BaseSpawn;
@@ -75,7 +76,7 @@ public final class PopulateTreeArtifactAction extends AbstractAction {
private final Artifact archive;
private final Artifact archiveManifest;
- private final Artifact outputTreeArtifact;
+ private final SpecialArtifact outputTreeArtifact;
private final FilesToRunProvider zipper;
/**
@@ -92,7 +93,7 @@ public final class PopulateTreeArtifactAction extends AbstractAction {
ActionOwner owner,
Artifact archive,
Artifact archiveManifest,
- Artifact treeArtifactToPopulate,
+ SpecialArtifact treeArtifactToPopulate,
FilesToRunProvider zipper) {
super(
owner,
@@ -114,7 +115,7 @@ public final class PopulateTreeArtifactAction extends AbstractAction {
}
private static class PopulateTreeArtifactSpawn extends BaseSpawn {
- private final Artifact treeArtifact;
+ private final SpecialArtifact treeArtifact;
private final Iterable<PathFragment> entriesToExtract;
// The output TreeFileArtifacts are created lazily outside of the contructor because potentially
@@ -122,7 +123,7 @@ public final class PopulateTreeArtifactAction extends AbstractAction {
private Collection<TreeFileArtifact> outputTreeFileArtifacts;
PopulateTreeArtifactSpawn(
- Artifact treeArtifact,
+ SpecialArtifact treeArtifact,
Iterable<PathFragment> entriesToExtract,
Iterable<String> commandLine,
RunfilesSupplier runfilesSupplier,
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplate.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplate.java
index b6150b9d5c..1b944d44e8 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplate.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/SpawnActionTemplate.java
@@ -21,6 +21,7 @@ import com.google.devtools.build.lib.actions.ActionExecutionContext;
import com.google.devtools.build.lib.actions.ActionInputHelper;
import com.google.devtools.build.lib.actions.ActionOwner;
import com.google.devtools.build.lib.actions.Artifact;
+import com.google.devtools.build.lib.actions.Artifact.SpecialArtifact;
import com.google.devtools.build.lib.actions.Artifact.TreeFileArtifact;
import com.google.devtools.build.lib.actions.ArtifactOwner;
import com.google.devtools.build.lib.analysis.FilesToRunProvider;
@@ -33,8 +34,8 @@ import java.util.Map;
* An {@link ActionTemplate} that expands into {@link SpawnAction}s at execution time.
*/
public final class SpawnActionTemplate implements ActionTemplate<SpawnAction> {
- private final Artifact inputTreeArtifact;
- private final Artifact outputTreeArtifact;
+ private final SpecialArtifact inputTreeArtifact;
+ private final SpecialArtifact outputTreeArtifact;
private final NestedSet<Artifact> commonInputs;
private final NestedSet<Artifact> allInputs;
private final NestedSet<Artifact> commonTools;
@@ -64,8 +65,8 @@ public final class SpawnActionTemplate implements ActionTemplate<SpawnAction> {
private SpawnActionTemplate(
ActionOwner actionOwner,
- Artifact inputTreeArtifact,
- Artifact outputTreeArtifact,
+ SpecialArtifact inputTreeArtifact,
+ SpecialArtifact outputTreeArtifact,
NestedSet<Artifact> commonInputs,
NestedSet<Artifact> commonTools,
OutputPathMapper outputPathMapper,
@@ -229,19 +230,19 @@ public final class SpawnActionTemplate implements ActionTemplate<SpawnAction> {
private CustomCommandLine commandLineTemplate;
private PathFragment executable;
- private final Artifact inputTreeArtifact;
- private final Artifact outputTreeArtifact;
+ private final SpecialArtifact inputTreeArtifact;
+ private final SpecialArtifact outputTreeArtifact;
private final NestedSetBuilder<Artifact> inputsBuilder = NestedSetBuilder.stableOrder();
private final NestedSetBuilder<Artifact> toolsBuilder = NestedSetBuilder.stableOrder();
private final SpawnAction.Builder spawnActionBuilder;
/**
* Creates a {@link SpawnActionTemplate} builder.
- *
+ *
* @param inputTreeArtifact the required input TreeArtifact.
* @param outputTreeArtifact the required output TreeArtifact.
*/
- public Builder(Artifact inputTreeArtifact, Artifact outputTreeArtifact) {
+ public Builder(SpecialArtifact inputTreeArtifact, SpecialArtifact outputTreeArtifact) {
Preconditions.checkState(
inputTreeArtifact.isTreeArtifact() && outputTreeArtifact.isTreeArtifact(),
"Either %s or %s is not a TreeArtifact",