From f67f9706fa8b7549908cddce92e4f77dce4af0bd Mon Sep 17 00:00:00 2001 From: Daniel Stonier <d.stonier@gmail.com> Date: Sat, 7 Sep 2013 04:04:33 +0900 Subject: [PATCH] Just a basic plugin, that does something. --- catkin/.classpath => .classpath | 2 +- .gitignore | 1 + catkin/.project => .project | 2 +- catkin/build.gradle => build.gradle | 8 +- .../catkin/gradle/CatkinPlugin.java | 12 -- .../META-INF/gradle-plugins/catkin.properties | 1 - gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 46742 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 164 ++++++++++++++++++ gradlew.bat | 90 ++++++++++ settings.gradle | 1 + .../CatkinPlugin.groovy | 25 +++ .../META-INF/gradle-plugins/catkin.properties | 1 + 13 files changed, 297 insertions(+), 16 deletions(-) rename catkin/.classpath => .classpath (72%) rename catkin/.project => .project (90%) rename catkin/build.gradle => build.gradle (85%) delete mode 100644 catkin/plugin/src/main/groovy/com/github/rosjava/rosjava_gradle_plugins/catkin/gradle/CatkinPlugin.java delete mode 100644 catkin/plugin/src/main/resources/META-INF/gradle-plugins/catkin.properties 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 create mode 100644 settings.gradle create mode 100644 src/main/groovy/com/github/rosjava/rosjava_gradle_plugins/CatkinPlugin.groovy create mode 100644 src/main/resources/META-INF/gradle-plugins/catkin.properties diff --git a/catkin/.classpath b/.classpath similarity index 72% rename from catkin/.classpath rename to .classpath index 885ee20..89e45cb 100644 --- a/catkin/.classpath +++ b/.classpath @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="src" path="plugin/src/main/groovy"/> + <classpathentry kind="lib" path="gradle/wrapper/gradle-wrapper.jar"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="output" path="bin"/> </classpath> diff --git a/.gitignore b/.gitignore index 9ef9604..e0d44a0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ +.gradle build diff --git a/catkin/.project b/.project similarity index 90% rename from catkin/.project rename to .project index b25877c..04ba724 100644 --- a/catkin/.project +++ b/.project @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> <projectDescription> - <name>catkin</name> + <name>rosjava_gradle_plugins</name> <comment></comment> <projects> </projects> diff --git a/catkin/build.gradle b/build.gradle similarity index 85% rename from catkin/build.gradle rename to build.gradle index e1cc8eb..d8665fe 100644 --- a/catkin/build.gradle +++ b/build.gradle @@ -1,5 +1,11 @@ + +task wrapper(type: Wrapper) { + gradleVersion = '1.5' +} + apply plugin: 'groovy' apply plugin: 'maven' + dependencies { compile gradleApi() groovy localGroovy() @@ -10,7 +16,7 @@ repositories { group='com.github.rosjava.rosjava_gradle_plugins' version='0.1.0-SNAPSHOT' - + uploadArchives { repositories { mavenDeployer { diff --git a/catkin/plugin/src/main/groovy/com/github/rosjava/rosjava_gradle_plugins/catkin/gradle/CatkinPlugin.java b/catkin/plugin/src/main/groovy/com/github/rosjava/rosjava_gradle_plugins/catkin/gradle/CatkinPlugin.java deleted file mode 100644 index 42e3fa9..0000000 --- a/catkin/plugin/src/main/groovy/com/github/rosjava/rosjava_gradle_plugins/catkin/gradle/CatkinPlugin.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.github.rosjava.rosjava_gradle_plugins.catkin.gradle; - -import org.gradle.api.*; - -public class CatkinPlugin implements Plugin { - def void apply(Project project) { - //c4rTask task has been defined below. - project.task('catkin') << { - println "Hi from catkin plugin!" - } - } -} \ No newline at end of file diff --git a/catkin/plugin/src/main/resources/META-INF/gradle-plugins/catkin.properties b/catkin/plugin/src/main/resources/META-INF/gradle-plugins/catkin.properties deleted file mode 100644 index a85d358..0000000 --- a/catkin/plugin/src/main/resources/META-INF/gradle-plugins/catkin.properties +++ /dev/null @@ -1 +0,0 @@ -implementation-class=com.github.rosjava.rosjava_gradle_plugins.catkin.gradle.CatkinPlugin \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..faa569a9a0eedc9ff37450fed24a7efd77a86729 GIT binary patch literal 46742 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 CrIzOa literal 0 HcmV?d00001 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..96ef2a2 --- /dev/null +++ b/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Thu Sep 05 21:39:25 KST 2013 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=http\://services.gradle.org/distributions/gradle-1.5-bin.zip diff --git a/gradlew b/gradlew new file mode 100755 index 0000000..91a7e26 --- /dev/null +++ b/gradlew @@ -0,0 +1,164 @@ +#!/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" + +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/settings.gradle b/settings.gradle new file mode 100644 index 0000000..28ae37a --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'catkin' \ No newline at end of file diff --git a/src/main/groovy/com/github/rosjava/rosjava_gradle_plugins/CatkinPlugin.groovy b/src/main/groovy/com/github/rosjava/rosjava_gradle_plugins/CatkinPlugin.groovy new file mode 100644 index 0000000..dddd267 --- /dev/null +++ b/src/main/groovy/com/github/rosjava/rosjava_gradle_plugins/CatkinPlugin.groovy @@ -0,0 +1,25 @@ +package com.github.rosjava.rosjava_gradle_plugins; + +import org.gradle.api.Project; +import org.gradle.api.Plugin; +import org.gradle.api.Task; +import org.gradle.api.*; + +class CatkinPlugin implements Plugin<Project> { + def void apply(Project project) { + project.ext.ROS_PACKAGE_PATH = "$System.env.ROS_PACKAGE_PATH".split(":") + project.ext.ROS_PACKAGE_TREES = [] + project.ext.ROS_PACKAGE_PATH.each { rosPackageRoot -> + println("Ros Package Root: " + rosPackageRoot) + def manifestTree = project.fileTree(dir: rosPackageRoot, include: '**/package.xml') + manifestTree.each { file -> + println("File: " + file) + } + } + println("We are happy, you should be too.") + project.task('happy') << { + println "I'll teach your grandmother to suck eggs!" + println("ROS_PACKAGE_PATH........." + project.ROS_PACKAGE_PATH) + } + } +} \ No newline at end of file diff --git a/src/main/resources/META-INF/gradle-plugins/catkin.properties b/src/main/resources/META-INF/gradle-plugins/catkin.properties new file mode 100644 index 0000000..8030a17 --- /dev/null +++ b/src/main/resources/META-INF/gradle-plugins/catkin.properties @@ -0,0 +1 @@ +implementation-class=com.github.rosjava.rosjava_gradle_plugins.CatkinPlugin \ No newline at end of file -- GitLab