Permalink
Please sign in to comment.
Browse files
Add build.gradle and the Gradle Wrapper. You can now run the GAE serv…
…er locally (and/or upload to GAE) with only a JDK installed -- everything else will be auto-downloaded.
- Loading branch information...
Showing
with
409 additions
and 0 deletions.
- +2 −0 .gitignore
- +151 −0 build.gradle
- BIN gradle/wrapper/gradle-wrapper.jar
- +6 −0 gradle/wrapper/gradle-wrapper.properties
- +168 −0 gradlew
- +82 −0 gradlew.bat
151
build.gradle
@@ -0,0 +1,151 @@ | ||
+/* | ||
+ * build.gradle for iUI | ||
+ * (c) 2012 by the iUI project members | ||
+ * | ||
+ * This file is used to run a local webserver for testing purposes and to | ||
+ * publish to http://demo.iui-js.org on Google App Engine. | ||
+ * | ||
+ * iUI uses ant and build.xml to build the iUI distribution. | ||
+ * (at some point in the future the build.xml functions may be migrated from | ||
+ * ant to gradle) | ||
+ * | ||
+ * To run a local weberver use: | ||
+ * ./gradlew gaeRun | ||
+ * | ||
+ * To publish to GAE run: | ||
+ * ./gradlew gaeUpload | ||
+ * | ||
+ * If you're not an administrator for http://demo.iui-js.org, you'll need to configure | ||
+ * your own instance of GAE -- instructions TBD. | ||
+ */ | ||
+ | ||
+import org.apache.ivy.plugins.resolver.URLResolver | ||
+ | ||
+apply plugin: 'java' | ||
+apply plugin: 'groovy' | ||
+apply plugin: 'gae' | ||
+apply plugin: 'gaelyk' | ||
+apply plugin: 'eclipse' | ||
+apply plugin: 'idea' | ||
+ | ||
+def compatibilityVersion = 1.5 | ||
+sourceCompatibility = compatibilityVersion | ||
+targetCompatibility = compatibilityVersion | ||
+ | ||
+buildscript { | ||
+ gitHub = { | ||
+ def resolver = new URLResolver() | ||
+ | ||
+ resolver.with { | ||
+ name = 'GitHub' | ||
+ addArtifactPattern 'http://cloud.github.com/downloads/[organisation]/[module]/[module]-[revision].[ext]' | ||
+ } | ||
+ | ||
+ resolver | ||
+ } | ||
+ | ||
+ repositories { | ||
+ add gitHub() | ||
+ } | ||
+ | ||
+ dependencies { | ||
+ classpath 'bmuschko:gradle-gae-plugin:0.5.1' | ||
+ classpath 'bmuschko:gradle-gaelyk-plugin:0.1' | ||
+ } | ||
+} | ||
+ | ||
+repositories { | ||
+ mavenCentral() | ||
+ add gitHub() | ||
+} | ||
+ | ||
+sourceSets { | ||
+ main { | ||
+ output.classesDir = file('web-app/WEB-INF/classes') | ||
+ } | ||
+} | ||
+ | ||
+dependencies { | ||
+ def gaeVersion = '1.6.0' | ||
+ groovy 'org.codehaus.groovy:groovy-all:1.8.4' | ||
+ compile "com.google.appengine:appengine-api-1.0-sdk:$gaeVersion", | ||
+ "com.google.appengine:appengine-api-labs:$gaeVersion", | ||
+ 'glaforge:gaelyk:1.1' | ||
+ | ||
+ testCompile 'org.spockframework:spock-core:0.5-groovy-1.8', { | ||
+ exclude group: 'org.codehaus.groovy', name: 'groovy-all' | ||
+ } | ||
+ testCompile 'marcoVermeulen:gaelyk-spock:0.2', | ||
+ "com.google.appengine:appengine-api-stubs:$gaeVersion", | ||
+ "com.google.appengine:appengine-testing:$gaeVersion", | ||
+ 'javax.servlet:servlet-api:2.5', | ||
+ 'cglib:cglib-nodep:2.2', | ||
+ 'org.objenesis:objenesis:1.2' | ||
+ gaeSdk "com.google.appengine:appengine-java-sdk:$gaeVersion" | ||
+} | ||
+ | ||
+webAppDirName = file('web-app') | ||
+ | ||
+gae { | ||
+ warDir = file('web-app') | ||
+ downloadSdk = true | ||
+} | ||
+ | ||
+clean.doLast { | ||
+ delete sourceSets*.output.classesDir | ||
+} | ||
+ | ||
+task copyRuntimeLibraries(type: Sync){ | ||
+ def webAppLibDirName = 'web-app/WEB-INF/lib' | ||
+ description = "Copies runtime libraries to $webAppLibDirName." | ||
+ copy{ | ||
+ from configurations.runtime | ||
+ into webAppLibDirName | ||
+ } | ||
+} | ||
+ | ||
+idea { | ||
+ project { | ||
+ jdkName = compatibilityVersion | ||
+ | ||
+ ipr.withXml { provider -> | ||
+ def node = provider.asNode() | ||
+ | ||
+ // Set Gradle home | ||
+ def gradleSettings = node.appendNode('component', [name: 'GradleSettings']) | ||
+ gradleSettings.appendNode('option', [name: 'SDK_HOME', value: gradle.gradleHomeDir]) | ||
+ } | ||
+ } | ||
+} | ||
+ | ||
+eclipse { | ||
+ project { | ||
+ name = 'gaelyk-project' | ||
+ file { | ||
+ whenMerged { project -> | ||
+ project.natures << 'com.google.appengine.eclipse.core.gaeNature' | ||
+ project.natures << 'com.google.gdt.eclipse.core.webAppNature' | ||
+ project.buildCommands << [name: 'com.google.appengine.eclipse.core.enhancerbuilder'] | ||
+ project.buildCommands << [name: 'com.google.appengine.eclipse.core.projectValidator'] | ||
+ project.buildCommands << [name: 'com.google.gdt.eclipse.core.webAppProjectValidator'] | ||
+ } | ||
+ } | ||
+ } | ||
+ classpath { | ||
+ file { | ||
+ withXml { xml -> | ||
+ xml.asNode().classpathentry.find { it.@kind == 'output' && it.@path == 'bin' }.@path = 'web-app/WEB-INF/classes' | ||
+ xml.asNode().appendNode('classpathentry', [kind: 'con', path: 'com.google.appengine.eclipse.core.GAE_CONTAINER']) | ||
+ .appendNode('attributes') | ||
+ .appendNode('attribute', [name: 'org.eclipse.jst.component.nondependency', value: '/web-app/WEB-INF/lib']) | ||
+ xml.asNode().appendNode('classpathentry', [exported: 'true', kind: 'con', path: 'GROOVY_SUPPORT']) | ||
+ .appendNode('attributes') | ||
+ .appendNode('attribute', [name: 'org.eclipse.jst.component.nondependency', value: '/web-app/WEB-INF/lib']) | ||
+ } | ||
+ } | ||
+ } | ||
+} | ||
+ | ||
+task wrapper(type: Wrapper) { | ||
+ gradleVersion = '1.0-milestone-4' | ||
+} |
Binary file not shown.
@@ -0,0 +1,6 @@ | ||
+#Fri Aug 05 23:35:17 CEST 2011 | ||
+distributionBase=GRADLE_USER_HOME | ||
+distributionPath=wrapper/dists | ||
+zipStoreBase=GRADLE_USER_HOME | ||
+zipStorePath=wrapper/dists | ||
+distributionUrl=http\://repo.gradle.org/gradle/distributions/gradle-1.0-milestone-4-bin.zip |
@@ -0,0 +1,168 @@ | ||
+#!/bin/bash | ||
+ | ||
+############################################################################## | ||
+## ## | ||
+## Gradle wrapper script for UN*X ## | ||
+## ## | ||
+############################################################################## | ||
+ | ||
+# Uncomment those lines to set JVM options. GRADLE_OPTS and JAVA_OPTS can be used together. | ||
+# GRADLE_OPTS="$GRADLE_OPTS -Xmx512m" | ||
+# JAVA_OPTS="$JAVA_OPTS -Xmx512m" | ||
+ | ||
+GRADLE_APP_NAME=Gradle | ||
+ | ||
+# 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 | ||
+case "`uname`" in | ||
+ CYGWIN* ) | ||
+ cygwin=true | ||
+ ;; | ||
+ Darwin* ) | ||
+ darwin=true | ||
+ ;; | ||
+ MINGW* ) | ||
+ msys=true | ||
+ ;; | ||
+esac | ||
+ | ||
+# Attempt to set JAVA_HOME if it's not already set. | ||
+if [ -z "$JAVA_HOME" ] ; then | ||
+ if $darwin ; then | ||
+ [ -z "$JAVA_HOME" -a -d "/Library/Java/Home" ] && export JAVA_HOME="/Library/Java/Home" | ||
+ [ -z "$JAVA_HOME" -a -d "/System/Library/Frameworks/JavaVM.framework/Home" ] && export JAVA_HOME="/System/Library/Frameworks/JavaVM.framework/Home" | ||
+ else | ||
+ javaExecutable="`which javac`" | ||
+ [ -z "$javaExecutable" -o "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ] && die "JAVA_HOME not set and cannot find javac to deduce location, please set JAVA_HOME." | ||
+ # readlink(1) is not available as standard on Solaris 10. | ||
+ readLink=`which readlink` | ||
+ [ `expr "$readLink" : '\([^ ]*\)'` = "no" ] && die "JAVA_HOME not set and readlink not available, please set JAVA_HOME." | ||
+ javaExecutable="`readlink -f \"$javaExecutable\"`" | ||
+ javaHome="`dirname \"$javaExecutable\"`" | ||
+ javaHome=`expr "$javaHome" : '\(.*\)/bin'` | ||
+ export JAVA_HOME="$javaHome" | ||
+ fi | ||
+fi | ||
+ | ||
+# For Cygwin, ensure paths are in UNIX format before anything is touched. | ||
+if $cygwin ; then | ||
+ [ -n "$JAVACMD" ] && JAVACMD=`cygpath --unix "$JAVACMD"` | ||
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` | ||
+fi | ||
+ | ||
+STARTER_MAIN_CLASS=org.gradle.wrapper.GradleWrapperMain | ||
+CLASSPATH=`dirname "$0"`/gradle/wrapper/gradle-wrapper.jar | ||
+WRAPPER_PROPERTIES=`dirname "$0"`/gradle/wrapper/gradle-wrapper.properties | ||
+# Determine the Java command to use to start the JVM. | ||
+if [ -z "$JAVACMD" ] ; then | ||
+ 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 | ||
+ else | ||
+ JAVACMD="java" | ||
+ fi | ||
+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 | ||
+if [ -z "$JAVA_HOME" ] ; then | ||
+ warn "JAVA_HOME environment variable is not set" | ||
+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 businessSystem maximum file descriptor limit: $MAX_FD_LIMIT" | ||
+ fi | ||
+fi | ||
+ | ||
+# For Darwin, add GRADLE_APP_NAME to the JAVA_OPTS as -Xdock:name | ||
+if $darwin; then | ||
+ JAVA_OPTS="$JAVA_OPTS -Xdock:name=$GRADLE_APP_NAME" | ||
+# we may also want to set -Xdock:image | ||
+fi | ||
+ | ||
+# For Cygwin, switch paths to Windows format before running java | ||
+if $cygwin ; then | ||
+ JAVA_HOME=`cygpath --path --mixed "$JAVA_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 | ||
+ | ||
+GRADLE_APP_BASE_NAME=`basename "$0"` | ||
+ | ||
+exec "$JAVACMD" $JAVA_OPTS $GRADLE_OPTS \ | ||
+ -classpath "$CLASSPATH" \ | ||
+ -Dorg.gradle.appname="$GRADLE_APP_BASE_NAME" \ | ||
+ -Dorg.gradle.wrapper.properties="$WRAPPER_PROPERTIES" \ | ||
+ $STARTER_MAIN_CLASS \ | ||
+ "$@" |

Oops, something went wrong.
0 comments on commit
27f0557