diff -Nru gradle-1.0/subprojects/native/src/main/java/org/gradle/internal/nativeplatform/filesystem/FallbackPOSIX.java gradle-1.0-gil/subprojects/native/src/main/java/org/gradle/internal/nativeplatform/filesystem/FallbackPOSIX.java
--- gradle-1.0/subprojects/native/src/main/java/org/gradle/internal/nativeplatform/filesystem/FallbackPOSIX.java 2012-04-25 01:27:12.000000000 +0200
+++ gradle-1.0-gil/subprojects/native/src/main/java/org/gradle/internal/nativeplatform/filesystem/FallbackPOSIX.java 2012-09-21 20:13:23.179556898 +0200
@@ -18,6 +18,7 @@
import org.jruby.ext.posix.FileStat;
import org.jruby.ext.posix.Group;
+import org.jruby.ext.posix.LibC;
import org.jruby.ext.posix.POSIX;
import org.jruby.ext.posix.Passwd;
@@ -27,6 +28,7 @@
public class FallbackPOSIX implements POSIX {
static final int ENOTSUP = 1;
+ private POSIX delegate;
public int chmod(String filename, int mode) {
return 0;
@@ -223,4 +225,44 @@
public void errno(int value) {
throw new UnsupportedOperationException("This operation is not supported.");
}
+
+ public LibC libc() {
+ return delegate.libc();
+ }
+
+ public boolean isNative() {
+ return delegate.isNative();
+ }
+
+ public String getenv(String name) {
+ return delegate.getenv(name);
+ }
+
+ public int setenv(String name, String value, int i) {
+ return delegate.setenv(name, value, i);
+ }
+
+ public int unsetenv(String name) {
+ return delegate.unsetenv(name);
+ }
+
+ public int exec(String cmd, String... args) {
+ return delegate.exec(cmd, args);
+ }
+
+ public int exec(String cmd, String[] args, String[] env) {
+ return delegate.exec(cmd, args, env);
+ }
+
+ public int execv(String cmd, String[] args) {
+ return delegate.execv(cmd, args);
+ }
+
+ public int execve(String cmd, String[] args, String[] env) {
+ return delegate.execve(cmd, args, env);
+ }
+
+ public FileStat allocateStat() {
+ return delegate.allocateStat();
+ }
}
diff -Nru gradle-1.0/subprojects/native/src/main/java/org/gradle/internal/nativeplatform/filesystem/PosixUtil.java gradle-1.0-gil/subprojects/native/src/main/java/org/gradle/internal/nativeplatform/filesystem/PosixUtil.java
--- gradle-1.0/subprojects/native/src/main/java/org/gradle/internal/nativeplatform/filesystem/PosixUtil.java 2012-06-12 02:18:44.000000000 +0200
+++ gradle-1.0-gil/subprojects/native/src/main/java/org/gradle/internal/nativeplatform/filesystem/PosixUtil.java 2012-09-21 20:13:23.180556837 +0200
@@ -16,6 +16,8 @@
package org.gradle.internal.nativeplatform.filesystem;
+import com.kenai.constantine.platform.Errno;
+
import org.jruby.ext.posix.*;
import java.io.File;
@@ -32,7 +34,8 @@
private static class FallbackAwarePosixFactory{
public static POSIX getPOSIX() {
POSIX posix = POSIXFactory.getPOSIX(new POSIXHandlerImpl(), true);
- if(posix instanceof JavaPOSIX || posix instanceof WindowsPOSIX){
+ String name = posix.getClass().getSimpleName();
+ if ("JavaPOSIX".equals(name) || "WindowsPOSIX".equals(name)) {
return new FallbackPOSIX();
}
return posix;
@@ -40,7 +43,7 @@
}
private static class POSIXHandlerImpl implements POSIXHandler {
- public void error(POSIX.ERRORS error, String message) {
+ public void error(Errno error, String message) {
throw new UnsupportedOperationException(error + " - " + message);
}