aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/google/devtools/build/lib/exec/AbstractSpawnStrategy.java6
-rw-r--r--src/main/java/com/google/devtools/build/lib/exec/SpawnRunner.java6
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