Blob Blame History Raw
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);
         }