aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxRunner.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxRunner.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxRunner.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxRunner.java b/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxRunner.java
index 3f559babff..40d9623db2 100644
--- a/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxRunner.java
+++ b/src/main/java/com/google/devtools/build/lib/sandbox/DarwinSandboxRunner.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.lib.shell.Command;
import com.google.devtools.build.lib.shell.CommandException;
import com.google.devtools.build.lib.shell.KillableObserver;
import com.google.devtools.build.lib.shell.TimeoutKillableObserver;
+import com.google.devtools.build.lib.util.OS;
import com.google.devtools.build.lib.vfs.Path;
import java.io.File;
import java.io.IOException;
@@ -58,6 +59,24 @@ final class DarwinSandboxRunner extends SandboxRunner {
}
static boolean isSupported() {
+ // Check osx version, only >=10.11 is supported.
+ // And we should check if sandbox still work when it gets 11.x
+ String osxVersion = OS.getVersion();
+ String[] parts = osxVersion.split("\\.");
+ if (parts.length != 3) {
+ // Currently the format is 10.11.x
+ return false;
+ }
+ try {
+ int v0 = Integer.parseInt(parts[0]);
+ int v1 = Integer.parseInt(parts[1]);
+ if (v0 != 10 || v1 < 11) {
+ return false;
+ }
+ } catch (NumberFormatException e) {
+ return false;
+ }
+
List<String> args = new ArrayList<>();
args.add(SANDBOX_EXEC);
args.add("-p");