aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java b/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
index 2eff7c45cc..bb529e9a16 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxedStrategy.java
@@ -76,6 +76,7 @@ public class DarwinSandboxedStrategy extends SandboxStrategy {
private final UUID uuid = UUID.randomUUID();
private final AtomicInteger execCounter = new AtomicInteger();
+ private final String workspaceName;
private DarwinSandboxedStrategy(
BuildRequest buildRequest,
@@ -84,20 +85,23 @@ public class DarwinSandboxedStrategy extends SandboxStrategy {
boolean verboseFailures,
String productName,
ImmutableList<Path> confPaths,
- SpawnHelpers spawnHelpers) {
+ SpawnHelpers spawnHelpers,
+ String workspaceName) {
super(
buildRequest,
blazeDirs,
verboseFailures,
- buildRequest.getOptions(SandboxOptions.class));
+ buildRequest.getOptions(SandboxOptions.class),
+ workspaceName);
this.clientEnv = ImmutableMap.copyOf(clientEnv);
this.blazeDirs = blazeDirs;
- this.execRoot = blazeDirs.getExecRoot();
+ this.execRoot = blazeDirs.getExecRoot(workspaceName);
this.sandboxDebug = buildRequest.getOptions(SandboxOptions.class).sandboxDebug;
this.verboseFailures = verboseFailures;
this.productName = productName;
this.confPaths = confPaths;
this.spawnHelpers = spawnHelpers;
+ this.workspaceName = workspaceName;
}
public static DarwinSandboxedStrategy create(
@@ -105,7 +109,8 @@ public class DarwinSandboxedStrategy extends SandboxStrategy {
Map<String, String> clientEnv,
BlazeDirectories blazeDirs,
boolean verboseFailures,
- String productName)
+ String productName,
+ String workspaceName)
throws IOException {
// On OS X, in addition to what is specified in $TMPDIR, two other temporary directories may be
// written to by processes. We have to get their location by calling "getconf".
@@ -125,7 +130,8 @@ public class DarwinSandboxedStrategy extends SandboxStrategy {
verboseFailures,
productName,
writablePaths.build(),
- new SpawnHelpers(blazeDirs.getExecRoot()));
+ new SpawnHelpers(blazeDirs.getExecRoot(workspaceName)),
+ workspaceName);
}
/**
@@ -328,8 +334,8 @@ public class DarwinSandboxedStrategy extends SandboxStrategy {
Path mount;
if (sourceFragment.isAbsolute()) {
mount = blazeDirs.getFileSystem().getPath(sourceFragment);
- } else if (blazeDirs.getExecRoot().getRelative(sourceFragment).exists()) {
- mount = blazeDirs.getExecRoot().getRelative(sourceFragment);
+ } else if (blazeDirs.getExecRoot(workspaceName).getRelative(sourceFragment).exists()) {
+ mount = blazeDirs.getExecRoot(workspaceName).getRelative(sourceFragment);
} else {
List<Path> searchPath =
SearchPath.parse(blazeDirs.getFileSystem(), clientEnv.get("PATH"));