diff options
author | Xavier Ducrohet <xav@google.com> | 2016-03-09 17:54:53 -0800 |
---|---|---|
committer | Xavier Ducrohet <xav@google.com> | 2016-03-09 17:58:04 -0800 |
commit | bdb0b7fa6806b8d1753c58d83f511f31b09d803d (patch) | |
tree | 3c34b4d128723c983cd689c5554a4ff2b61ba5a8 | |
parent | 8b4e5bac634d1006f071d25db1c2ba46001b4650 (diff) | |
download | sherpa-bdb0b7fa6806b8d1753c58d83f511f31b09d803d.tar.gz |
First version of gradle build files.
Change-Id: I229c12077ce60ef98eb9e90b5dc6606f57191a3b
-rw-r--r-- | build.gradle | 53 | ||||
-rw-r--r-- | constraintlayout/build.gradle | 15 | ||||
-rw-r--r-- | constraintlayout/src/main/AndroidManifest.xml | 6 | ||||
-rw-r--r-- | constraintlayout/src/main/java/com/google/tnt/sherpa/ConstraintLayout.java | 10 | ||||
-rw-r--r-- | gradle.properties | 1 | ||||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.jar | bin | 0 -> 46670 bytes | |||
-rw-r--r-- | gradle/wrapper/gradle-wrapper.properties | 6 | ||||
-rwxr-xr-x | gradlew | 184 | ||||
-rwxr-xr-x | gradlew.bat | 96 | ||||
-rw-r--r-- | settings.gradle | 1 | ||||
-rw-r--r-- | solver/build.gradle | 6 |
11 files changed, 373 insertions, 5 deletions
diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..3269403 --- /dev/null +++ b/build.gradle @@ -0,0 +1,53 @@ +buildscript { + repositories { + maven { url "$project.rootDir/../../prebuilts/tools/common/offline-m2" } + } + dependencies { + classpath 'com.android.tools.build:gradle:1.5.0' + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + + +// Currently, the minimum requirement to run Android SDK tools is Java 1.6 +// So make sure that we are compiling with 1.6 +task('checkJavaVersion') << { + def jvmVersion = System.getProperty('java.version') + def requiredVersion = System.getenv('JAVA_FOR_TESTS') ?: '1.6' + if (!jvmVersion.startsWith(requiredVersion)) { + throw new RuntimeException("Tools need to be compiled with Java $requiredVersion, you are using Java $jvmVersion.") + } +} +final def checkJavaVersionTask = tasks['checkJavaVersion'] + +/* + * With the build server you are given two env variables. + * The OUT_DIR is a temporary directory you can use to put things during the build. + * The DIST_DIR is where you want to save things from the build. + * + * The build server will copy the contents of DIST_DIR to somewhere and make it available. + */ +if (System.env.DIST_DIR != null && System.env.OUT_DIR != null) { + ext.androidHostOut = file(System.env.OUT_DIR) + ext.androidHostDist = file(System.env.DIST_DIR) +} else { + // ext.androidHostOut is shared by all tools/{base,build,swt} gradle projects/ + ext.androidHostOut = file("$rootDir/../out") + ext.androidHostDist = new File(ext.androidHostOut, "dist") +} + +// rootProject.buildDir is specific to this gradle build. +buildDir = new File(ext.androidHostOut, "build/root") + +ext.localRepo = project.hasProperty('localRepo') ? localRepo : "$ext.androidHostOut/repo" + +subprojects { Project project -> + // Change buildDir first so that all plugins pick up the new value. + project.buildDir = project.file("$project.parent.buildDir/../$project.name/build") +} + +// basic task for custom distribution of project should the build server. +task dist << { +} diff --git a/constraintlayout/build.gradle b/constraintlayout/build.gradle new file mode 100644 index 0000000..687b5f4 --- /dev/null +++ b/constraintlayout/build.gradle @@ -0,0 +1,15 @@ +apply plugin: 'com.android.library' + +android { + compileSdkVersion 21 + buildToolsVersion "23.0.1" + + defaultConfig { + minSdkVersion 17 + targetSdkVersion 23 + } +} + +dependencies { + compile project(':solver') +} diff --git a/constraintlayout/src/main/AndroidManifest.xml b/constraintlayout/src/main/AndroidManifest.xml new file mode 100644 index 0000000..4c4f303 --- /dev/null +++ b/constraintlayout/src/main/AndroidManifest.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<manifest xmlns:android="http://schemas.android.com/apk/res/android" + package="com.google.tnt.sherpa"> + + <application /> +</manifest>
\ No newline at end of file diff --git a/constraintlayout/src/main/java/com/google/tnt/sherpa/ConstraintLayout.java b/constraintlayout/src/main/java/com/google/tnt/sherpa/ConstraintLayout.java index 396be7b..942d5e9 100644 --- a/constraintlayout/src/main/java/com/google/tnt/sherpa/ConstraintLayout.java +++ b/constraintlayout/src/main/java/com/google/tnt/sherpa/ConstraintLayout.java @@ -56,11 +56,11 @@ public class ConstraintLayout extends ViewGroup { private static final boolean DEBUG = false; private static final String TAG = "ConstraintLayout"; - protected HashMap<View, ConstraintWidget> mConstrainedViews = new HashMap<>(); - protected ArrayList<ConstraintWidget> mConstrainedWidgets = new ArrayList<>(); - protected HashMap<View, ConstraintWidget> mConstrainedViewTargets = new HashMap<>(); - protected ArrayList<ConstraintWidget> mConstrainedTargets = new ArrayList<>(); - private ArrayList<ConstraintWidget> mSizeDependentsWidgets = new ArrayList<>(); + protected HashMap<View, ConstraintWidget> mConstrainedViews = new HashMap<View, ConstraintWidget>(); + protected ArrayList<ConstraintWidget> mConstrainedWidgets = new ArrayList<ConstraintWidget>(); + protected HashMap<View, ConstraintWidget> mConstrainedViewTargets = new HashMap<View, ConstraintWidget>(); + protected ArrayList<ConstraintWidget> mConstrainedTargets = new ArrayList<ConstraintWidget>(); + private ArrayList<ConstraintWidget> mSizeDependentsWidgets = new ArrayList<ConstraintWidget>(); protected ConstraintWidgetContainer mLayoutWidget = null; protected LinearSystem mEquationSystem = new LinearSystem(); diff --git a/gradle.properties b/gradle.properties new file mode 100644 index 0000000..1a644c7 --- /dev/null +++ b/gradle.properties @@ -0,0 +1 @@ +org.gradle.daemon=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar Binary files differnew file mode 100644 index 0000000..7b359d7 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.jar diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..97e092d --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Wed Dec 12 15:16:42 PST 2012 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=../../../external/gradle/gradle-2.10-all.zip @@ -0,0 +1,184 @@ +#!/usr/bin/env bash + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# 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 + +# For Cygwin, ensure paths are in UNIX format before anything is touched. +if $cygwin ; then + [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"` +fi + +# 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\"`/" +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" + +# Change the project's .gradle to the android out dir. +if [[ -z "$OUT_DIR" ]]; then + ANDROID_GRADLE_ROOT="$APP_HOME/../../out" +else + ANDROID_GRADLE_ROOT="$OUT_DIR" +fi + +if [[ -z "$ANDROID_CACHE_DIR" ]]; then + ANDROID_CACHE_DIR="$ANDROID_GRADLE_ROOT/.gradle" +fi + +# Change the local user directories to be under the android out dir +export GRADLE_USER_HOME="$ANDROID_GRADLE_ROOT/.gradle" +export M2_HOME="$ANDROID_GRADLE_ROOT/.m2" + +exec "$JAVACMD" "${JVM_OPTS[@]}" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + --project-cache-dir=$ANDROID_CACHE_DIR \ + "$@" + diff --git a/gradlew.bat b/gradlew.bat new file mode 100755 index 0000000..3b43ab4 --- /dev/null +++ b/gradlew.bat @@ -0,0 +1,96 @@ +@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 Change the project's .gradle to the android out dir.
+set ANDROID_GRADLE_ROOT=%APP_HOME%\..\..\out
+set ANDROID_CACHE_DIR=%ANDROID_GRADLE_ROOT%\.gradle
+set GRADLE_USER_HOME=%ANDROID_GRADLE_ROOT%\.gradle
+set M2_HOME=%ANDROID_GRADLE_ROOT%\.m2
+
+@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% --project-cache-dir=%ANDROID_CACHE_DIR%
+
+: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/settings.gradle b/settings.gradle new file mode 100644 index 0000000..917c30a --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +include 'solver', 'constraintlayout' diff --git a/solver/build.gradle b/solver/build.gradle new file mode 100644 index 0000000..1cd49ba --- /dev/null +++ b/solver/build.gradle @@ -0,0 +1,6 @@ +apply plugin: 'java' + +compileJava { + targetCompatibility = 1.6 + sourceCompatibility = 1.6 +} |