From 65e2610eefc30a210dfdcd36e8143e49db1d1b46 Mon Sep 17 00:00:00 2001 From: Adam Murdoch Date: Sat, 8 Sep 2012 10:19:13 +1000 Subject: [PATCH] Use the wrapper. --- build.gradle | 4 + gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 46654 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 164 +++++++++++++++++++++++ gradlew.bat | 90 +++++++++++++ readme.md | 11 +- 6 files changed, 269 insertions(+), 6 deletions(-) create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat diff --git a/build.gradle b/build.gradle index 21b63e6..c667daa 100755 --- a/build.gradle +++ b/build.gradle @@ -160,3 +160,7 @@ mainPom.withXml { provider -> dep.appendNode('artifactId', 'native-platform-osx-universal') dep.appendNode('version', project.version) } + +task wrapper(type: Wrapper) { + gradleVersion = "1.3-20120907220018+0000" +} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..55c2bb64101c50fc737564d2685ad3c0854525a4 GIT binary patch literal 46654 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 z%0A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 wHy+5z>rb \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" +APP_HOME="`pwd -P`" +cd "$SAVED" + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules +function splitJvmOpts() { + JVM_OPTS=("$@") +} +eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS +JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME" + +exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@" diff --git a/gradlew.bat b/gradlew.bat new file mode 100644 index 0000000..aec9973 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,90 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windowz variants + +if not "%OS%" == "Windows_NT" goto win9xME_args +if "%@eval[2+2]" == "4" goto 4NT_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* +goto execute + +:4NT_args +@rem Get arguments from the 4NT Shell from JP Software +set CMD_LINE_ARGS=%$ + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/readme.md b/readme.md index 37f61b5..11bbefb 100755 --- a/readme.md +++ b/readme.md @@ -65,17 +65,18 @@ Include `native-platform.jar` and `native-platform-jni.jar` in your classpath. ## Building -You will need a very recent snapshot of [Gradle](http://www.gradle.org/). +You will need to use the Gradle wrapper. Just run `gradlew` in the root directory. ### Ubuntu -The g++ compiler is required to build the native library. You will need the `g++` package for this. Generally this is already installed. +The g++ compiler is required to build the native library. You will need the `g++` package for this. Usually this is already installed. You need to install the `libncurses5-dev` package to pick up the ncurses header files. Also worth installing the `ncurses-doc` package too. -#### 64bit machines with multi-arch support +#### 64-bit machines with multi-arch support -Where multi-arch support is available (newer Ubuntu releases), you can build the i386 and amd64 versions of the library. +Where multi-arch support is available (e.g. recent Ubuntu releases), you can build the i386 and amd64 versions of the library on the +same machine. You need to install the `gcc-multilib` and `g++-multilib` packages to pick up i386 support. @@ -113,7 +114,6 @@ You can run `$INSTALL_DIR/bin/native-platform` to run the test application. ### Fixes * Windows: build 32 bit and 64 bit libraries. -* Windows: flush System.out or System.err on attribute change. * Windows: fail for unsupported architecture. * Linux: detect remote filesystems. * Solaris: fix unicode file name handling. @@ -133,7 +133,6 @@ You can run `$INSTALL_DIR/bin/native-platform` to run the test application. * String names for errno values. * Split into multiple projects. * Convert to c. -* Thread safety. * Make native library extraction multi-process safe. * Initial release. * Use fully decomposed form for unicode file names on hfs+ filesystems.