mirror of
				https://github.com/webmproject/libwebp.git
				synced 2025-10-31 10:25:46 +01:00 
			
		
		
		
	Add gradle support
Change-Id: I8d522e582959e1a17605430316c1506349a7193c
This commit is contained in:
		
							
								
								
									
										16
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								README
									
									
									
									
									
								
							| @@ -108,6 +108,22 @@ cmake -DWEBP_BUILD_CWEBP=ON -DWEBP_BUILD_DWEBP=ON ../ | ||||
|  | ||||
| or through your favorite interface (like ccmake or cmake-qt-gui). | ||||
|  | ||||
| Gradle: | ||||
| ------- | ||||
| The support for Gradle is minimal: it only helps you compile libwebp, cwebp and | ||||
| dwebp and webpmux_example. | ||||
|  | ||||
| Prerequisites: | ||||
| A compiler (e.g., gcc with autotools) and gradle. | ||||
| On a Debian-like system the following should install everything you need for a | ||||
| minimal build: | ||||
| $ sudo apt-get install build-essential gradle | ||||
|  | ||||
| When building from git sources, you will need to run the Gradle wrapper with the | ||||
| appropriate target, e.g. : | ||||
|  | ||||
| ./gradlew buildAllExecutables | ||||
|  | ||||
| SWIG bindings: | ||||
| -------------- | ||||
|  | ||||
|   | ||||
							
								
								
									
										312
									
								
								build.gradle
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										312
									
								
								build.gradle
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,312 @@ | ||||
| // Define dependencies. | ||||
| buildscript { | ||||
|   repositories { | ||||
|     maven { | ||||
|       url "https://jcenter.bintray.com" | ||||
|     } | ||||
|   } | ||||
|   dependencies { | ||||
|     classpath "com.android.tools.build:gradle:${ANDROID_GRADLE_PLUGIN_VERSION}" | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Define versions in the project. | ||||
| project.ext { | ||||
|   buildToolsVersion = "${BUILD_TOOLS_VERSION}" | ||||
|   compileSdkVersion = COMPILE_SDK_VERSION.toInteger() | ||||
| } | ||||
|  | ||||
| // Core libraries and executables. | ||||
| apply plugin: "c" | ||||
| def NEON | ||||
| model { | ||||
|   buildTypes { | ||||
|     debug | ||||
|     release | ||||
|   } | ||||
|   platforms { | ||||
|     arm { | ||||
|       architecture "arm" | ||||
|     } | ||||
|     arm64 { | ||||
|       architecture "arm64" | ||||
|     } | ||||
|     x86 { | ||||
|       architecture "x86" | ||||
|     } | ||||
|     x64 { | ||||
|       architecture "x86_64" | ||||
|     } | ||||
|     mips32r2 | ||||
|   } | ||||
|   toolChains { | ||||
|     gcc(Gcc) { | ||||
|       target("mips32r2") { | ||||
|         cCompiler.args "-mips32r2" | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|   binaries { | ||||
|     all { | ||||
|       if (toolChain in Gcc) { | ||||
|         cCompiler.args "-fPIC" | ||||
|         cCompiler.args "-Wall" | ||||
|         cCompiler.define "ANDROID" | ||||
|         cCompiler.define "HAVE_MALLOC_H" | ||||
|       } | ||||
|       // Optimizations. | ||||
|       if (buildType == buildTypes.release) { | ||||
|         if (toolChain in Gcc) { | ||||
|           cCompiler.args "-finline-functions" | ||||
|           cCompiler.args "-ffast-math" | ||||
|           cCompiler.args "-ffunction-sections" | ||||
|           cCompiler.args "-fdata-sections" | ||||
|         } | ||||
|         if (toolChain in Clang) { | ||||
|           cCompiler.args "-frename-registers -s" | ||||
|         } | ||||
|       } | ||||
|       // Check for NEON usage. | ||||
|       if (getTargetPlatform() == "arm" || getTargetPlatform() == "arm64") { | ||||
|         NEON = "c.neon" | ||||
|       } else { | ||||
|         NEON = "c" | ||||
|       } | ||||
|     } | ||||
|     // Link to pthread for shared libraries. | ||||
|     withType(SharedLibraryBinarySpec) { | ||||
|       if (toolChain in Gcc) { | ||||
|         cCompiler.define "HAVE_PTHREAD" | ||||
|         cCompiler.define "WEBP_USE_THREAD" | ||||
|         linker.args "-pthread" | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|   components { | ||||
|     webp(NativeLibrarySpec) { | ||||
|       sources { | ||||
|         c { | ||||
|           source { | ||||
|             srcDir "src/dec" | ||||
|             include "alpha.c" | ||||
|             include "buffer.c" | ||||
|             include "frame.c" | ||||
|             include "idec.c" | ||||
|             include "io.c" | ||||
|             include "quant.c" | ||||
|             include "tree.c" | ||||
|             include "vp8.c" | ||||
|             include "vp8l.c" | ||||
|             include "webp.c" | ||||
|             srcDir "src/dsp" | ||||
|             include "alpha_processing.c" | ||||
|             include "alpha_processing_mips_dsp_r2.c" | ||||
|             include "alpha_processing_sse2.c" | ||||
|             include "alpha_processing_sse41.c" | ||||
|             include "argb.c" | ||||
|             include "argb_mips_dsp_r2.c" | ||||
|             include "argb_sse2.c" | ||||
|             include "cpu.c" | ||||
|             include "dec.c" | ||||
|             include "dec_clip_tables.c" | ||||
|             include "dec_mips32.c" | ||||
|             include "dec_mips_dsp_r2.c" | ||||
|             include "dec_neon.$NEON" | ||||
|             include "dec_sse2.c" | ||||
|             include "dec_sse41.c" | ||||
|             include "filters.c" | ||||
|             include "filters_mips_dsp_r2.c" | ||||
|             include "filters_sse2.c" | ||||
|             include "lossless.c" | ||||
|             include "lossless_mips_dsp_r2.c" | ||||
|             include "lossless_neon.$NEON" | ||||
|             include "lossless_sse2.c" | ||||
|             include "rescaler.c" | ||||
|             include "rescaler_mips32.c" | ||||
|             include "rescaler_mips_dsp_r2.c" | ||||
|             include "rescaler_neon.$NEON" | ||||
|             include "rescaler_sse2.c" | ||||
|             include "upsampling.c" | ||||
|             include "upsampling_mips_dsp_r2.c" | ||||
|             include "upsampling_neon.$NEON" | ||||
|             include "upsampling_sse2.c" | ||||
|             include "yuv.c" | ||||
|             include "yuv_mips32.c" | ||||
|             include "yuv_mips_dsp_r2.c" | ||||
|             include "yuv_sse2.c" | ||||
|             srcDir "src/utils" | ||||
|             include "ans.c" | ||||
|             include "bit_reader.c" | ||||
|             include "color_cache.c" | ||||
|             include "filters.c" | ||||
|             include "huffman.c" | ||||
|             include "quant_levels_dec.c" | ||||
|             include "random.c" | ||||
|             include "rescaler.c" | ||||
|             include "thread.c" | ||||
|             include "utils.c" | ||||
|             srcDir "src/dsp" | ||||
|             include "cost.c" | ||||
|             include "cost_mips32.c" | ||||
|             include "cost_mips_dsp_r2.c" | ||||
|             include "cost_sse2.c" | ||||
|             include "enc.c" | ||||
|             include "enc_avx2.c" | ||||
|             include "enc_mips32.c" | ||||
|             include "enc_mips_dsp_r2.c" | ||||
|             include "enc_neon.$NEON" | ||||
|             include "enc_sse2.c" | ||||
|             include "enc_sse41.c" | ||||
|             include "lossless_enc.c" | ||||
|             include "lossless_enc_mips32.c" | ||||
|             include "lossless_enc_mips_dsp_r2.c" | ||||
|             include "lossless_enc_neon.$NEON" | ||||
|             include "lossless_enc_sse2.c" | ||||
|             include "lossless_enc_sse41.c" | ||||
|             srcDir "src/enc" | ||||
|             include "alpha.c" | ||||
|             include "analysis.c" | ||||
|             include "backward_references.c" | ||||
|             include "config.c" | ||||
|             include "cost.c" | ||||
|             include "delta_palettization.c" | ||||
|             include "filter.c" | ||||
|             include "frame.c" | ||||
|             include "histogram.c" | ||||
|             include "iterator.c" | ||||
|             include "near_lossless.c" | ||||
|             include "picture.c" | ||||
|             include "picture_csp.c" | ||||
|             include "picture_psnr.c" | ||||
|             include "picture_rescale.c" | ||||
|             include "picture_tools.c" | ||||
|             include "quant.c" | ||||
|             include "syntax.c" | ||||
|             include "token.c" | ||||
|             include "tree.c" | ||||
|             include "vp8l.c" | ||||
|             include "webpenc.c" | ||||
|             srcDir "src/utils" | ||||
|             include "bit_writer.c" | ||||
|             include "huffman_encode.c" | ||||
|             include "quant_levels.c" | ||||
|           } | ||||
|           exportedHeaders { | ||||
|             srcDir "src" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     webpdemux(NativeLibrarySpec) { | ||||
|       sources { | ||||
|         c { | ||||
|           source { | ||||
|             srcDir "src/demux" | ||||
|             include "anim_decode.c" | ||||
|             include "demux.c" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     webpmux(NativeLibrarySpec) { | ||||
|       sources { | ||||
|         c { | ||||
|           source { | ||||
|             srcDir "src/mux/" | ||||
|             include "anim_encode.c" | ||||
|             include "muxedit.c" | ||||
|             include "muxinternal.c" | ||||
|             include "muxread.c" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     // Executables from examples. | ||||
|     example_util(NativeLibrarySpec) { | ||||
|       binaries { | ||||
|         all { | ||||
|           lib library: "webp", linkage: "static" | ||||
|         } | ||||
|       } | ||||
|       sources { | ||||
|         c { | ||||
|           source { | ||||
|             srcDir "./examples" | ||||
|             include "example_util.c" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     cwebp(NativeExecutableSpec) { | ||||
|       binaries { | ||||
|         all { | ||||
|           lib library: "example_util", linkage: "static" | ||||
|           lib library: "webp", linkage: "static" | ||||
|         } | ||||
|       } | ||||
|       sources { | ||||
|         c { | ||||
|           source { | ||||
|             srcDir "./examples" | ||||
|             include "cwebp.c" | ||||
|             include "jpegdec.c" | ||||
|             include "metadata.c" | ||||
|             include "pngdec.c" | ||||
|             include "tiffdec.c" | ||||
|             include "webpdec.c" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     dwebp(NativeExecutableSpec) { | ||||
|       binaries { | ||||
|         all { | ||||
|           lib library: "example_util", linkage: "static" | ||||
|           lib library: "webp" | ||||
|         } | ||||
|       } | ||||
|       sources { | ||||
|         c { | ||||
|           source { | ||||
|               srcDir "./examples" | ||||
|               include "dwebp.c" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|  | ||||
|     webpmux_example(NativeExecutableSpec) { | ||||
|       binaries { | ||||
|         all { | ||||
|           lib library: "example_util", linkage: "static" | ||||
|           lib library: "webpmux", linkage: "static" | ||||
|           lib library: "webp" | ||||
|         } | ||||
|       } | ||||
|       sources { | ||||
|         c { | ||||
|           source { | ||||
|             srcDir "./examples" | ||||
|             include "webpmux.c" | ||||
|           } | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|   } | ||||
|   tasks { | ||||
|     // Task to test all possible configurations. | ||||
|     buildAllExecutables(Task) { | ||||
|       dependsOn $.binaries.findAll { it.buildable } | ||||
|     } | ||||
|   } | ||||
| } | ||||
|  | ||||
| // Task to generate the wrapper. | ||||
| task wrapper(type: Wrapper) { | ||||
|   gradleVersion = '2.13' | ||||
| } | ||||
							
								
								
									
										14
									
								
								gradle.properties
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								gradle.properties
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| # Project-wide Gradle settings. | ||||
|  | ||||
| # IDE (e.g. Android Studio) users: | ||||
| # Gradle settings configured through the IDE *will override* | ||||
| # any settings specified in this file. | ||||
|  | ||||
| # For more details on how to configure your build environment visit | ||||
| # http://www.gradle.org/docs/current/userguide/build_environment.html | ||||
|  | ||||
| # Versions for gradle | ||||
| BUILD_TOOLS_VERSION=23.0.3 | ||||
| COMPILE_SDK_VERSION=23 | ||||
| ANDROID_GRADLE_PLUGIN_VERSION=1.5.0 | ||||
| GRADLE_DOWNLOAD_TASK_VERSION=2.1.0 | ||||
							
								
								
									
										
											BIN
										
									
								
								gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								gradle/wrapper/gradle-wrapper.jar
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										6
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								gradle/wrapper/gradle-wrapper.properties
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| #Thu May 12 17:06:25 CEST 2016 | ||||
| distributionBase=GRADLE_USER_HOME | ||||
| distributionPath=wrapper/dists | ||||
| zipStoreBase=GRADLE_USER_HOME | ||||
| zipStorePath=wrapper/dists | ||||
| distributionUrl=https\://services.gradle.org/distributions/gradle-2.13-bin.zip | ||||
							
								
								
									
										164
									
								
								gradlew
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										164
									
								
								gradlew
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,164 @@ | ||||
| #!/usr/bin/env bash | ||||
|  | ||||
| ############################################################################## | ||||
| ## | ||||
| ##  Gradle start up script for UN*X | ||||
| ## | ||||
| ############################################################################## | ||||
|  | ||||
| # Attempt to set APP_HOME | ||||
| # Resolve links: $0 may be a link | ||||
| PRG="$0" | ||||
| # Need this for relative symlinks. | ||||
| while [ -h "$PRG" ] ; do | ||||
|     ls=`ls -ld "$PRG"` | ||||
|     link=`expr "$ls" : '.*-> \(.*\)$'` | ||||
|     if expr "$link" : '/.*' > /dev/null; then | ||||
|         PRG="$link" | ||||
|     else | ||||
|         PRG=`dirname "$PRG"`"/$link" | ||||
|     fi | ||||
| done | ||||
| SAVED="`pwd`" | ||||
| cd "`dirname \"$PRG\"`/" >/dev/null | ||||
| APP_HOME="`pwd -P`" | ||||
| cd "$SAVED" >/dev/null | ||||
|  | ||||
| APP_NAME="Gradle" | ||||
| APP_BASE_NAME=`basename "$0"` | ||||
|  | ||||
| # Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. | ||||
| DEFAULT_JVM_OPTS="" | ||||
|  | ||||
| # Use the maximum available, or set MAX_FD != -1 to use that value. | ||||
| MAX_FD="maximum" | ||||
|  | ||||
| warn ( ) { | ||||
|     echo "$*" | ||||
| } | ||||
|  | ||||
| die ( ) { | ||||
|     echo | ||||
|     echo "$*" | ||||
|     echo | ||||
|     exit 1 | ||||
| } | ||||
|  | ||||
| # OS specific support (must be 'true' or 'false'). | ||||
| cygwin=false | ||||
| msys=false | ||||
| darwin=false | ||||
| nonstop=false | ||||
| case "`uname`" in | ||||
|   CYGWIN* ) | ||||
|     cygwin=true | ||||
|     ;; | ||||
|   Darwin* ) | ||||
|     darwin=true | ||||
|     ;; | ||||
|   MINGW* ) | ||||
|     msys=true | ||||
|     ;; | ||||
|   NONSTOP* ) | ||||
|     nonstop=true | ||||
|     ;; | ||||
| esac | ||||
|  | ||||
| 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" -a "$nonstop" = "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"` | ||||
|     JAVACMD=`cygpath --unix "$JAVACMD"` | ||||
|  | ||||
|     # 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 "$@" | ||||
							
								
								
									
										90
									
								
								gradlew.bat
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								gradlew.bat
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -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 | ||||
|  | ||||
| set DIRNAME=%~dp0 | ||||
| if "%DIRNAME%" == "" set DIRNAME=. | ||||
| set APP_BASE_NAME=%~n0 | ||||
| set APP_HOME=%DIRNAME% | ||||
|  | ||||
| @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= | ||||
|  | ||||
| @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 Windows 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 | ||||
		Reference in New Issue
	
	Block a user