diff options
author | 2018-07-25 15:15:11 -0700 | |
---|---|---|
committer | 2018-07-25 15:16:25 -0700 | |
commit | 8e6a1b93a933300f1dd5d97184424f3b3062e603 (patch) | |
tree | 116137ef606be110965020b99f4e4acd172eaa31 /src/main/java | |
parent | 1ed89aa24c91248fc062477250d5188940a848de (diff) |
Weave the artifact path resolver through the Spawn execution context.
RELNOTES: None
PiperOrigin-RevId: 206063489
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java | 6 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/exec/SpawnRunner.java | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java b/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java index c94cd491d5..0930675181 100644 --- a/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java +++ b/src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java @@ -22,6 +22,7 @@ import com.google.devtools.build.lib.actions.ActionExecutionMetadata; import com.google.devtools.build.lib.actions.ActionInput; import com.google.devtools.build.lib.actions.ActionStatusMessage; import com.google.devtools.build.lib.actions.Artifact.ArtifactExpander; +import com.google.devtools.build.lib.actions.ArtifactPathResolver; import com.google.devtools.build.lib.actions.EnvironmentalExecException; import com.google.devtools.build.lib.actions.ExecException; import com.google.devtools.build.lib.actions.MetadataProvider; @@ -190,6 +191,11 @@ public abstract class AbstractSpawnStrategy implements SandboxedSpawnActionConte } @Override + public ArtifactPathResolver getPathResolver() { + return actionExecutionContext.getPathResolver(); + } + + @Override public void lockOutputFiles() throws InterruptedException { Class<? extends SpawnActionContext> token = AbstractSpawnStrategy.this.getClass(); if (writeOutputFiles != null diff --git a/src/main/java/com/google/devtools/build/lib/exec/SpawnRunner.java b/src/main/java/com/google/devtools/build/lib/exec/SpawnRunner.java index af391d5426..2fcfb05817 100644 --- a/src/main/java/com/google/devtools/build/lib/exec/SpawnRunner.java +++ b/src/main/java/com/google/devtools/build/lib/exec/SpawnRunner.java @@ -15,6 +15,7 @@ package com.google.devtools.build.lib.exec; import com.google.devtools.build.lib.actions.ActionInput; import com.google.devtools.build.lib.actions.Artifact.ArtifactExpander; +import com.google.devtools.build.lib.actions.ArtifactPathResolver; import com.google.devtools.build.lib.actions.ExecException; import com.google.devtools.build.lib.actions.MetadataProvider; import com.google.devtools.build.lib.actions.Spawn; @@ -168,6 +169,11 @@ public interface SpawnRunner { // directories? Or maybe we need a separate method to return the set of directories? ArtifactExpander getArtifactExpander(); + /** The {@link ArtifactPathResolver} to use when directly writing output files. */ + default ArtifactPathResolver getPathResolver() { + return ArtifactPathResolver.IDENTITY; + } + /** * All implementations must call this method before writing to the provided stdout / stderr or * to any of the output file locations. This method is used to coordinate - implementations |