aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar Damien Martin-Guillerez <dmarting@google.com>2016-01-18 12:53:39 +0000
committerGravatar Han-Wen Nienhuys <hanwen@google.com>2016-01-18 14:35:05 +0000
commit8c04e9e0b5ae55107460a3be73d09f2402c51580 (patch)
treeaa64b22c130c7488861602583de8228294eff283 /src/main/java/com/google/devtools/build
parentec758db4e5ef5e74708cea6751ab50ea492a201e (diff)
Use JavaIoFileSystem during the bootstrapping, removing JNI compilation.
Another step towards no C++ compilation outside of Bazel for bootstrapping. -- MOS_MIGRATED_REVID=112399835
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/unix/ProcessUtils.java4
-rw-r--r--src/main/java/com/google/devtools/build/lib/util/OsUtils.java3
3 files changed, 10 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
index 84c7da2455..79792665d5 100644
--- a/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
+++ b/src/main/java/com/google/devtools/build/lib/runtime/BlazeRuntime.java
@@ -987,6 +987,10 @@ public final class BlazeRuntime {
}
private static FileSystem fileSystemImplementation() {
+ if ("0".equals(System.getProperty("io.bazel.UnixFileSystem"))) {
+ // Ignore UnixFileSystem, to be used for bootstrapping.
+ return new JavaIoFileSystem();
+ }
// The JNI-based UnixFileSystem is faster, but on Windows it is not available.
return OS.getCurrent() == OS.WINDOWS ? new JavaIoFileSystem() : new UnixFileSystem();
}
diff --git a/src/main/java/com/google/devtools/build/lib/unix/ProcessUtils.java b/src/main/java/com/google/devtools/build/lib/unix/ProcessUtils.java
index f1612fcc31..8fe9e35de1 100644
--- a/src/main/java/com/google/devtools/build/lib/unix/ProcessUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/unix/ProcessUtils.java
@@ -24,7 +24,9 @@ public final class ProcessUtils {
private ProcessUtils() {}
static {
- UnixJniLoader.loadJni();
+ if (!"0".equals(System.getProperty("io.bazel.UnixFileSystem"))) {
+ UnixJniLoader.loadJni();
+ }
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/util/OsUtils.java b/src/main/java/com/google/devtools/build/lib/util/OsUtils.java
index fee6c737ae..e633b4fd57 100644
--- a/src/main/java/com/google/devtools/build/lib/util/OsUtils.java
+++ b/src/main/java/com/google/devtools/build/lib/util/OsUtils.java
@@ -45,6 +45,9 @@ public final class OsUtils {
}
private static boolean jniLibsAvailable() {
+ if ("0".equals(System.getProperty("io.bazel.UnixFileSystem"))) {
+ return false;
+ }
// JNI libraries work fine on Windows, but at the moment we are not using any.
return OS.getCurrent() != OS.WINDOWS;
}