diff --git a/.idea/.name b/.idea/.name deleted file mode 100644 index 13ea6d3..0000000 --- a/.idea/.name +++ /dev/null @@ -1 +0,0 @@ -semver \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 0a77bef..2fa4070 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -2,6 +2,20 @@ + + + + + + + + + + + + + + diff --git a/.idea/modules.xml b/.idea/modules.xml index 7d89215..dac269c 100644 --- a/.idea/modules.xml +++ b/.idea/modules.xml @@ -2,6 +2,26 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/.idea/modules/annotation-processor-java.iml b/.idea/modules/annotation-processor-java.iml new file mode 100644 index 0000000..008cdb4 --- /dev/null +++ b/.idea/modules/annotation-processor-java.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/annotation-processor.iml b/.idea/modules/annotation-processor/annotation-processor.iml new file mode 100644 index 0000000..465fff5 --- /dev/null +++ b/.idea/modules/annotation-processor/annotation-processor.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/java/annotation-processor-java.iml b/.idea/modules/annotation-processor/java/annotation-processor-java.iml new file mode 100644 index 0000000..a0a747b --- /dev/null +++ b/.idea/modules/annotation-processor/java/annotation-processor-java.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/java/annotation-processor-java_main.iml b/.idea/modules/annotation-processor/java/annotation-processor-java_main.iml new file mode 100644 index 0000000..e27c1b1 --- /dev/null +++ b/.idea/modules/annotation-processor/java/annotation-processor-java_main.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/java/annotation-processor-java_test.iml b/.idea/modules/annotation-processor/java/annotation-processor-java_test.iml new file mode 100644 index 0000000..56e1e5c --- /dev/null +++ b/.idea/modules/annotation-processor/java/annotation-processor-java_test.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin.iml b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin.iml new file mode 100644 index 0000000..af6355a --- /dev/null +++ b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml new file mode 100644 index 0000000..025644b --- /dev/null +++ b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_main.iml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml new file mode 100644 index 0000000..72008aa --- /dev/null +++ b/.idea/modules/annotation-processor/kotlin/annotation-processor-kotlin_test.iml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-java.iml b/.idea/modules/ap-examples-java.iml new file mode 100644 index 0000000..d890132 --- /dev/null +++ b/.idea/modules/ap-examples-java.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-java_main.iml b/.idea/modules/ap-examples-java_main.iml new file mode 100644 index 0000000..c9833e4 --- /dev/null +++ b/.idea/modules/ap-examples-java_main.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-java_test.iml b/.idea/modules/ap-examples-java_test.iml new file mode 100644 index 0000000..2e20acb --- /dev/null +++ b/.idea/modules/ap-examples-java_test.iml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-kotlin.iml b/.idea/modules/ap-examples-kotlin.iml new file mode 100644 index 0000000..4a799f3 --- /dev/null +++ b/.idea/modules/ap-examples-kotlin.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-kotlin_main.iml b/.idea/modules/ap-examples-kotlin_main.iml new file mode 100644 index 0000000..ba500a4 --- /dev/null +++ b/.idea/modules/ap-examples-kotlin_main.iml @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/ap-examples-kotlin_test.iml b/.idea/modules/ap-examples-kotlin_test.iml new file mode 100644 index 0000000..2f272d8 --- /dev/null +++ b/.idea/modules/ap-examples-kotlin_test.iml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-java.iml b/.idea/modules/examples-java.iml new file mode 100644 index 0000000..4a61c8a --- /dev/null +++ b/.idea/modules/examples-java.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-java_main.iml b/.idea/modules/examples-java_main.iml new file mode 100644 index 0000000..20dbdd5 --- /dev/null +++ b/.idea/modules/examples-java_main.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-java_main~1.iml b/.idea/modules/examples-java_main~1.iml new file mode 100644 index 0000000..36c031f --- /dev/null +++ b/.idea/modules/examples-java_main~1.iml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-java_test.iml b/.idea/modules/examples-java_test.iml new file mode 100644 index 0000000..eeccd0b --- /dev/null +++ b/.idea/modules/examples-java_test.iml @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-java_test~1.iml b/.idea/modules/examples-java_test~1.iml new file mode 100644 index 0000000..0f58715 --- /dev/null +++ b/.idea/modules/examples-java_test~1.iml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-kotlin.iml b/.idea/modules/examples-kotlin.iml new file mode 100644 index 0000000..a9f4b89 --- /dev/null +++ b/.idea/modules/examples-kotlin.iml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-kotlin_main.iml b/.idea/modules/examples-kotlin_main.iml new file mode 100644 index 0000000..2c50ac8 --- /dev/null +++ b/.idea/modules/examples-kotlin_main.iml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples-kotlin_test.iml b/.idea/modules/examples-kotlin_test.iml new file mode 100644 index 0000000..a17c71e --- /dev/null +++ b/.idea/modules/examples-kotlin_test.iml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/examples.iml b/.idea/modules/examples.iml new file mode 100644 index 0000000..455d728 --- /dev/null +++ b/.idea/modules/examples.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules/semver.iml b/.idea/modules/semver.iml index a320bcb..ff76db3 100644 --- a/.idea/modules/semver.iml +++ b/.idea/modules/semver.iml @@ -1,5 +1,5 @@ - + diff --git a/.idea/modules/semver_main.iml b/.idea/modules/semver_main.iml index 795be74..4a9749c 100644 --- a/.idea/modules/semver_main.iml +++ b/.idea/modules/semver_main.iml @@ -1,5 +1,5 @@ - + @@ -48,16 +48,7 @@ - - - - - - - - - - + @@ -72,6 +63,24 @@ + + + + + + + + + + + + + + + + + + @@ -81,6 +90,15 @@ + + + + + + + + + @@ -108,15 +126,6 @@ - - - - - - - - - @@ -126,7 +135,16 @@ - + + + + + + + + + + @@ -135,35 +153,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -173,19 +162,39 @@ - - - + + - + - + + + + + + + + + + + + + + + + + + + + + + @@ -194,19 +203,10 @@ - + - - - - - - - - - - + diff --git a/.idea/modules/semver_test.iml b/.idea/modules/semver_test.iml index cb2c02e..9c0a069 100644 --- a/.idea/modules/semver_test.iml +++ b/.idea/modules/semver_test.iml @@ -1,5 +1,5 @@ - + @@ -36,15 +36,6 @@ - - - - - - - - - @@ -125,20 +116,11 @@ - - - - - - - - - - + @@ -147,7 +129,25 @@ - + + + + + + + + + + + + + + + + + + + @@ -174,7 +174,16 @@ - + + + + + + + + + + @@ -189,15 +198,6 @@ - - - - - - - - - @@ -210,14 +210,13 @@ - + - @@ -227,12 +226,13 @@ + - + - + diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 35eb1dd..8306744 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -2,5 +2,6 @@ + \ No newline at end of file diff --git a/examples/annotation-processor/java/.gitattributes b/examples/annotation-processor/java/.gitattributes new file mode 100644 index 0000000..6ec2ae2 --- /dev/null +++ b/examples/annotation-processor/java/.gitattributes @@ -0,0 +1,5 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# batch files are specific to windows and always crlf +*.bat eol=crlf diff --git a/examples/annotation-processor/java/.gitignore b/examples/annotation-processor/java/.gitignore new file mode 100644 index 0000000..6322c7f --- /dev/null +++ b/examples/annotation-processor/java/.gitignore @@ -0,0 +1,29 @@ +**/.idea/dictionaries +**/.idea/gradle.xml +**/.idea/libraries +**/.idea/tasks.xml +**/.idea/workspace.xml +*.sublime-* +*.iws +.classpath +.DS_Store +.gradle +.kobalt +.nb-gradle +.project +.settings +/bin +/build +/deploy +/dist +/gen +/gradle.properties +/local.properties +/out +/proguard-project.txt +/project.properties +/target +/test-output +ehthumbs.db +kobaltBuild +Thumbs.db \ No newline at end of file diff --git a/examples/annotation-processor/java/build.gradle b/examples/annotation-processor/java/build.gradle new file mode 100644 index 0000000..5edede5 --- /dev/null +++ b/examples/annotation-processor/java/build.gradle @@ -0,0 +1,45 @@ +buildscript { + repositories { + mavenLocal() + } + dependencies { + classpath "net.thauvin.erik.gradle:semver:0.9.2-beta" + } +} + +// ./gradlew +// ./gradlew clean incrementPatch run +// ./gradlew clean incrementMinor run +// ./gradlew clean incrementMajor run + +plugins { + id 'java' + id 'application' +} + +apply plugin: 'net.thauvin.erik.gradle.semver' + +mainClassName = 'com.example.Example' + +defaultTasks 'run' + +compileJava.options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated") + +def semverProcessor = "net.thauvin.erik:semver:1.1.0-beta+2" + +dependencies { + annotationProcessor semverProcessor + compileOnly semverProcessor +} + +repositories { + mavenLocal() + jcenter() +} + +semver { +// properties = "example.properties" +// keysPrefix = "example." +// preReleaseKey = "release" +// buildMetaKey = "meta" +} diff --git a/examples/annotation-processor/java/example.properties b/examples/annotation-processor/java/example.properties new file mode 100644 index 0000000..11e4b78 --- /dev/null +++ b/examples/annotation-processor/java/example.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 20:13:31 PDT 2018 +example.major=1 +example.release= +example.meta= +example.minor=0 +example.patch=0 diff --git a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.jar b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..758de96 Binary files /dev/null and b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.jar differ diff --git a/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..2d80b69 --- /dev/null +++ b/examples/annotation-processor/java/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/examples/annotation-processor/java/gradlew b/examples/annotation-processor/java/gradlew new file mode 100644 index 0000000..cccdd3d --- /dev/null +++ b/examples/annotation-processor/java/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## 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 + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/examples/annotation-processor/java/gradlew.bat b/examples/annotation-processor/java/gradlew.bat new file mode 100644 index 0000000..f955316 --- /dev/null +++ b/examples/annotation-processor/java/gradlew.bat @@ -0,0 +1,84 @@ +@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 + +: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=%* + +: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/examples/annotation-processor/java/settings.gradle b/examples/annotation-processor/java/settings.gradle new file mode 100644 index 0000000..73dfdee --- /dev/null +++ b/examples/annotation-processor/java/settings.gradle @@ -0,0 +1,10 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user guide at https://docs.gradle.org/4.8.1/userguide/multi_project_builds.html + */ + +rootProject.name = 'ap-examples-java' diff --git a/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java b/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java new file mode 100644 index 0000000..5667af7 --- /dev/null +++ b/examples/annotation-processor/java/src/generated/com/example/GeneratedVersion.java @@ -0,0 +1,102 @@ +/* + * This file is automatically generated. + * Do not modify! -- ALL CHANGES WILL BE ERASED! + */ +package com.example; + +import java.util.Date; + +/** + * Provides semantic version information. + * + * @author Semantic Version Annotation Processor + */ +public final class GeneratedVersion { + public final static String PRERELEASE_PREFIX = "-"; + public final static String BUILDMETA_PREFIX = "+"; + + public final static String PROJECT = ""; + public final static Date BUILDDATE = new Date(1530506497996L); + public final static int MAJOR = 6; + public final static int MINOR = 1; + public final static int PATCH = 0; + public final static String PRERELEASE = ""; + public final static String BUILDMETA = ""; + + /** + * The full version string. + *

+ * Formatted as: + *

+ * MAJOR.MINOR.PATCH[-PRERELEASE][+BUILDMETADATA] + *
+ *

+ * For example: + *

    + *
  • 1.0.0
  • + *
  • 1.0.0-beta
  • + *
  • 1.0.0+20160124144700
  • + *
  • 1.0.0-alpha+001
  • + *
+ */ + public final static String VERSION = Integer.toString(MAJOR) + '.' + + Integer.toString(MINOR) + '.' + + Integer.toString(PATCH) + + preReleaseWithPrefix() + buildMetaWithPrefix(); + + /** + * Disables the default constructor. + * + * @throws UnsupportedOperationException If the constructor is called. + */ + private GeneratedVersion() + throws UnsupportedOperationException { + throw new UnsupportedOperationException("Illegal constructor call."); + } + + /** + * Returns the build metadata with {@value #BUILDMETA_PREFIX} prefix. + * + * @return The build metadata, if any. + */ + public static String buildMetaWithPrefix() { + return buildMetaWithPrefix(BUILDMETA_PREFIX); + } + + /** + * Returns the build metadata. + * + * @param prefix Prefix to prepend. + * @return The build metadata, if any. + */ + public static String buildMetaWithPrefix(final String prefix) { + if (BUILDMETA.length() > 0 && prefix.length() > 0) { + return prefix + BUILDMETA; + } else { + return BUILDMETA; + } + } + + /** + * Returns the pre-release version with {@value #PRERELEASE_PREFIX} prefix. + * + * @return The pre-release version, if any. + */ + public static String preReleaseWithPrefix() { + return preReleaseWithPrefix(PRERELEASE_PREFIX); + } + + /** + * Returns the pre-release version. + * + * @param prefix The prefix to prepend. + * @return The pre-release version, if any. + */ + public static String preReleaseWithPrefix(final String prefix) { + if (PRERELEASE.length() > 0 && prefix.length() > 0) { + return prefix + PRERELEASE; + } else { + return PRERELEASE; + } + } +} \ No newline at end of file diff --git a/examples/annotation-processor/java/src/main/java/com/example/Example.java b/examples/annotation-processor/java/src/main/java/com/example/Example.java new file mode 100644 index 0000000..6992ac9 --- /dev/null +++ b/examples/annotation-processor/java/src/main/java/com/example/Example.java @@ -0,0 +1,30 @@ +package com.example; + +import net.thauvin.erik.semver.Version; + +import java.text.SimpleDateFormat; + +@Version(properties = "version.properties") +//@Version( +// properties = "example.properties", +// keysPrefix = "example.", +// preReleaseKey = "release", +// buildMetaKey = "meta") +public class Example { + public static void main(final String... args) { + final SimpleDateFormat sdf = new SimpleDateFormat("EEE, d MMM yyyy 'at' HH:mm:ss z"); + + System.out.println("-----------------------------------------------------"); + + System.out.println(" Version:" + GeneratedVersion.PROJECT + ' ' + GeneratedVersion.VERSION); + + System.out.println(" Built on: " + sdf.format(GeneratedVersion.BUILDDATE)); + System.out.println(" Major: " + GeneratedVersion.MAJOR); + System.out.println(" Minor: " + GeneratedVersion.MINOR); + System.out.println(" Patch: " + GeneratedVersion.PATCH); + System.out.println(" PreRelease: " + GeneratedVersion.PRERELEASE); + System.out.println(" BuildMetaData: " + GeneratedVersion.BUILDMETA); + + System.out.println("-----------------------------------------------------"); + } +} diff --git a/examples/annotation-processor/java/src/test/java/AppTest.java b/examples/annotation-processor/java/src/test/java/AppTest.java new file mode 100644 index 0000000..6cf97a2 --- /dev/null +++ b/examples/annotation-processor/java/src/test/java/AppTest.java @@ -0,0 +1,11 @@ +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +class AppTest { + @Test + void testAppHasAGreeting() { + App classUnderTest = new App(); + assertNotNull("app should have a greeting", classUnderTest.getGreeting()); + } +} diff --git a/examples/annotation-processor/java/version.properties b/examples/annotation-processor/java/version.properties new file mode 100644 index 0000000..267bb90 --- /dev/null +++ b/examples/annotation-processor/java/version.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 21:42:25 PDT 2018 +version.prerelease= +version.buildmeta= +version.patch=0 +version.major=6 +version.minor=1 diff --git a/examples/annotation-processor/kotlin/.gitattributes b/examples/annotation-processor/kotlin/.gitattributes new file mode 100644 index 0000000..6ec2ae2 --- /dev/null +++ b/examples/annotation-processor/kotlin/.gitattributes @@ -0,0 +1,5 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# batch files are specific to windows and always crlf +*.bat eol=crlf diff --git a/examples/annotation-processor/kotlin/.gitignore b/examples/annotation-processor/kotlin/.gitignore new file mode 100644 index 0000000..32fe2fe --- /dev/null +++ b/examples/annotation-processor/kotlin/.gitignore @@ -0,0 +1,32 @@ +**/.idea/dictionaries +**/.idea/gradle.xml +**/.idea/libraries +**/.idea/tasks.xml +**/.idea/workspace.xml +*.iws +*.sublime-* +.classpath +.DS_Store +.gradle +.kobalt +.nb-gradle +.project +.settings +/bin +/build +/deploy +/dist +/gen +/gradle.properties +/lib/kotlin* +/libs +/local.properties +/out +/proguard-project.txt +/project.properties +/target +/test-output +ehthumbs.db +kobaltBuild +kobaltw*-test +Thumbs.db \ No newline at end of file diff --git a/examples/annotation-processor/kotlin/build.gradle.kts b/examples/annotation-processor/kotlin/build.gradle.kts new file mode 100644 index 0000000..288c255 --- /dev/null +++ b/examples/annotation-processor/kotlin/build.gradle.kts @@ -0,0 +1,52 @@ +import net.thauvin.erik.gradle.semver.SemverConfig + +buildscript { + repositories { + mavenLocal() + } + dependencies { + classpath("net.thauvin.erik.gradle:semver:0.9.2-beta") + } +} + +plugins { + kotlin("jvm") version "1.2.50" + application + id("org.jetbrains.kotlin.kapt") version "1.2.50" +} + +apply { + plugin("net.thauvin.erik.gradle.semver") +} + + +// ./gradlew +// ./gradlew runJava +// ./gradlew run runJava + +defaultTasks(ApplicationPlugin.TASK_RUN_NAME) + +var semverProcessor = "net.thauvin.erik:semver:1.1.0-beta+2" + +dependencies { + kapt(semverProcessor) + compileOnly(semverProcessor) + + compile(kotlin("stdlib")) +} + +repositories { + mavenLocal() + jcenter() +} + +application { + mainClassName = "com.example.Main" +} + +configure { + properties = "example.properties" + keysPrefix = "example." + preReleaseKey = "release" + buildMetaKey = "meta" +} \ No newline at end of file diff --git a/examples/annotation-processor/kotlin/example.properties b/examples/annotation-processor/kotlin/example.properties new file mode 100644 index 0000000..7c54620 --- /dev/null +++ b/examples/annotation-processor/kotlin/example.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 21:42:39 PDT 2018 +example.major=1 +example.release= +example.meta= +example.minor=0 +example.patch=0 diff --git a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.jar b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..758de96 Binary files /dev/null and b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.jar differ diff --git a/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..2d80b69 --- /dev/null +++ b/examples/annotation-processor/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/examples/annotation-processor/kotlin/gradlew b/examples/annotation-processor/kotlin/gradlew new file mode 100644 index 0000000..cccdd3d --- /dev/null +++ b/examples/annotation-processor/kotlin/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## 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 + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/examples/annotation-processor/kotlin/gradlew.bat b/examples/annotation-processor/kotlin/gradlew.bat new file mode 100644 index 0000000..f955316 --- /dev/null +++ b/examples/annotation-processor/kotlin/gradlew.bat @@ -0,0 +1,84 @@ +@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 + +: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=%* + +: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/examples/annotation-processor/kotlin/settings.gradle.kts b/examples/annotation-processor/kotlin/settings.gradle.kts new file mode 100644 index 0000000..ff704be --- /dev/null +++ b/examples/annotation-processor/kotlin/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "ap-examples-kotlin" diff --git a/examples/annotation-processor/kotlin/src/main/kotlin/com/example/Main.kt b/examples/annotation-processor/kotlin/src/main/kotlin/com/example/Main.kt new file mode 100644 index 0000000..7ccd226 --- /dev/null +++ b/examples/annotation-processor/kotlin/src/main/kotlin/com/example/Main.kt @@ -0,0 +1,33 @@ +package com.example + +import net.thauvin.erik.semver.Version +import java.text.SimpleDateFormat + +@Version(properties = "version.properties", type = "kt") +//@Version( +// properties = "example.properties", +// type = "kt", +// keysPrefix = "example.", +// preReleaseKey = "release", +// buildMetaKey = "meta") +class Main { + companion object { + @JvmStatic + fun main(args: Array) { + val sdf = SimpleDateFormat("EEE, d MMM yyyy 'at' HH:mm:ss z") + + println("-----------------------------------------------------") + + println(" Version: ${GeneratedVersion.PROJECT} ${GeneratedVersion.VERSION}") + + println(" Built on: " + sdf.format(GeneratedVersion.BUILDDATE)) + println(" Major: ${GeneratedVersion.MAJOR}") + println(" Minor: ${GeneratedVersion.MINOR}") + println(" Patch: ${GeneratedVersion.PATCH}") + println(" PreRelease: ${GeneratedVersion.PRERELEASE}") + println(" BuildMetaData: ${GeneratedVersion.BUILDMETA}") + + println("-----------------------------------------------------") + } + } +} \ No newline at end of file diff --git a/examples/annotation-processor/kotlin/version.properties b/examples/annotation-processor/kotlin/version.properties new file mode 100644 index 0000000..a8a1d66 --- /dev/null +++ b/examples/annotation-processor/kotlin/version.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 19:30:36 PDT 2018 +version.prerelease= +version.buildmeta= +version.patch=0 +version.major=1 +version.minor=0 diff --git a/examples/build.gradle b/examples/build.gradle new file mode 100644 index 0000000..c859a6c --- /dev/null +++ b/examples/build.gradle @@ -0,0 +1,7 @@ +task clean(type: Delete) { + doFirst { + delete fileTree(".") { + include "*.properties" + } + } +} \ No newline at end of file diff --git a/examples/gradle/wrapper/gradle-wrapper.jar b/examples/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..758de96 Binary files /dev/null and b/examples/gradle/wrapper/gradle-wrapper.jar differ diff --git a/examples/gradle/wrapper/gradle-wrapper.properties b/examples/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..2d80b69 --- /dev/null +++ b/examples/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/examples/java/.gitattributes b/examples/java/.gitattributes new file mode 100644 index 0000000..6ec2ae2 --- /dev/null +++ b/examples/java/.gitattributes @@ -0,0 +1,5 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# batch files are specific to windows and always crlf +*.bat eol=crlf diff --git a/examples/java/.gitignore b/examples/java/.gitignore new file mode 100644 index 0000000..6322c7f --- /dev/null +++ b/examples/java/.gitignore @@ -0,0 +1,29 @@ +**/.idea/dictionaries +**/.idea/gradle.xml +**/.idea/libraries +**/.idea/tasks.xml +**/.idea/workspace.xml +*.sublime-* +*.iws +.classpath +.DS_Store +.gradle +.kobalt +.nb-gradle +.project +.settings +/bin +/build +/deploy +/dist +/gen +/gradle.properties +/local.properties +/out +/proguard-project.txt +/project.properties +/target +/test-output +ehthumbs.db +kobaltBuild +Thumbs.db \ No newline at end of file diff --git a/examples/java/build.gradle b/examples/java/build.gradle new file mode 100644 index 0000000..989cdcf --- /dev/null +++ b/examples/java/build.gradle @@ -0,0 +1,56 @@ +buildscript { + repositories { + mavenLocal() + } + dependencies { + classpath "net.thauvin.erik.gradle:semver:0.9.2-beta" + } +} + +// ./gradlew +// ./gradlew incrementPatch run +// ./gradlew incrementMinor run +// ./gradlew incrementMajor run + +plugins { + id 'java' + id 'application' +} + +apply plugin: 'net.thauvin.erik.gradle.semver' + +mainClassName = 'App' + +compileJava.options.annotationProcessorGeneratedSourcesDirectory = file("${projectDir}/src/generated") + +defaultTasks 'run' + +dependencies { + testImplementation( + 'org.junit.jupiter:junit-jupiter-api:5.2.0' + ) + testRuntimeOnly( + 'org.junit.jupiter:junit-jupiter-engine:5.2.0' + ) +} + +repositories { + jcenter() +} + +test { + useJUnitPlatform() +} + +semver { + // properties = "example.properties" + // keysPrefix = "example." + // preReleaseKey = "release" + // buildMetaKey = "meta" +} + +run { + doFirst { + println "Version: $version" + } +} diff --git a/examples/java/example.properties b/examples/java/example.properties new file mode 100644 index 0000000..d946882 --- /dev/null +++ b/examples/java/example.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 12:21:40 PDT 2018 +example.major=1 +example.release=beta +example.meta= +example.minor=1 +example.patch=1 diff --git a/examples/java/gradle/wrapper/gradle-wrapper.jar b/examples/java/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..758de96 Binary files /dev/null and b/examples/java/gradle/wrapper/gradle-wrapper.jar differ diff --git a/examples/java/gradle/wrapper/gradle-wrapper.properties b/examples/java/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..2d80b69 --- /dev/null +++ b/examples/java/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/examples/java/gradlew b/examples/java/gradlew new file mode 100644 index 0000000..cccdd3d --- /dev/null +++ b/examples/java/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## 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 + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/examples/java/gradlew.bat b/examples/java/gradlew.bat new file mode 100644 index 0000000..f955316 --- /dev/null +++ b/examples/java/gradlew.bat @@ -0,0 +1,84 @@ +@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 + +: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=%* + +: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/examples/java/settings.gradle b/examples/java/settings.gradle new file mode 100644 index 0000000..99bca64 --- /dev/null +++ b/examples/java/settings.gradle @@ -0,0 +1,10 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user guide at https://docs.gradle.org/4.8.1/userguide/multi_project_builds.html + */ + +rootProject.name = 'examples-java' diff --git a/examples/java/src/main/java/App.java b/examples/java/src/main/java/App.java new file mode 100644 index 0000000..c2347df --- /dev/null +++ b/examples/java/src/main/java/App.java @@ -0,0 +1,12 @@ +/* + * This Java source file was generated by the Gradle 'init' task. + */ +public class App { + public static void main(String[] args) { + System.out.println(new App().getGreeting()); + } + + public String getGreeting() { + return "Hello world."; + } +} diff --git a/examples/java/src/test/java/AppTest.java b/examples/java/src/test/java/AppTest.java new file mode 100644 index 0000000..6cf97a2 --- /dev/null +++ b/examples/java/src/test/java/AppTest.java @@ -0,0 +1,11 @@ +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertNotNull; + +class AppTest { + @Test + void testAppHasAGreeting() { + App classUnderTest = new App(); + assertNotNull("app should have a greeting", classUnderTest.getGreeting()); + } +} diff --git a/examples/java/version.properties b/examples/java/version.properties new file mode 100644 index 0000000..f2b2f94 --- /dev/null +++ b/examples/java/version.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 21:42:08 PDT 2018 +version.prerelease= +version.buildmeta= +version.patch=0 +version.major=1 +version.minor=0 diff --git a/examples/kotlin/.gitattributes b/examples/kotlin/.gitattributes new file mode 100644 index 0000000..6ec2ae2 --- /dev/null +++ b/examples/kotlin/.gitattributes @@ -0,0 +1,5 @@ +# Set the default behavior, in case people don't have core.autocrlf set. +* text=auto + +# batch files are specific to windows and always crlf +*.bat eol=crlf diff --git a/examples/kotlin/.gitignore b/examples/kotlin/.gitignore new file mode 100644 index 0000000..6322c7f --- /dev/null +++ b/examples/kotlin/.gitignore @@ -0,0 +1,29 @@ +**/.idea/dictionaries +**/.idea/gradle.xml +**/.idea/libraries +**/.idea/tasks.xml +**/.idea/workspace.xml +*.sublime-* +*.iws +.classpath +.DS_Store +.gradle +.kobalt +.nb-gradle +.project +.settings +/bin +/build +/deploy +/dist +/gen +/gradle.properties +/local.properties +/out +/proguard-project.txt +/project.properties +/target +/test-output +ehthumbs.db +kobaltBuild +Thumbs.db \ No newline at end of file diff --git a/examples/kotlin/build.gradle.kts b/examples/kotlin/build.gradle.kts new file mode 100644 index 0000000..54c165b --- /dev/null +++ b/examples/kotlin/build.gradle.kts @@ -0,0 +1,58 @@ +import net.thauvin.erik.gradle.semver.SemverConfig + +buildscript { + repositories { + mavenLocal() + } + dependencies { + classpath("net.thauvin.erik.gradle:semver:0.9.2-beta") + } +} + +plugins { + kotlin("jvm") version "1.2.50" + application +} + +apply { + plugin("net.thauvin.erik.gradle.semver") +} + +// ./gradlew +// ./gradlew incrementPatch run +// ./gradlew incrementMinor run +// ./gradlew incrementMajor run + +defaultTasks(ApplicationPlugin.TASK_RUN_NAME) + +dependencies { + compile(kotlin("stdlib")) + testCompile("org.testng:testng:6.14.3") +} + +repositories { + jcenter() +} + +application { + mainClassName = "com.example.MainKt" +} + +configure { + //properties = "example.properties" + //keysPrefix = "example." + //preReleaseKey = "release" + //buildMetaKey = "meta" +} + +tasks { + withType(Test::class.java).all { + useTestNG() + } + + val run by getting { + doFirst { + println("Version: $version") + } + } +} \ No newline at end of file diff --git a/examples/kotlin/example.properties b/examples/kotlin/example.properties new file mode 100644 index 0000000..4832c99 --- /dev/null +++ b/examples/kotlin/example.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 20:17:52 PDT 2018 +example.major=1 +example.release= +example.meta= +example.minor=0 +example.patch=0 diff --git a/examples/kotlin/gradle/wrapper/gradle-wrapper.jar b/examples/kotlin/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000..758de96 Binary files /dev/null and b/examples/kotlin/gradle/wrapper/gradle-wrapper.jar differ diff --git a/examples/kotlin/gradle/wrapper/gradle-wrapper.properties b/examples/kotlin/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..2d80b69 --- /dev/null +++ b/examples/kotlin/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,5 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.1-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/examples/kotlin/gradlew b/examples/kotlin/gradlew new file mode 100644 index 0000000..cccdd3d --- /dev/null +++ b/examples/kotlin/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## 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 + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/examples/kotlin/gradlew.bat b/examples/kotlin/gradlew.bat new file mode 100644 index 0000000..f955316 --- /dev/null +++ b/examples/kotlin/gradlew.bat @@ -0,0 +1,84 @@ +@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 + +: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=%* + +: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/examples/kotlin/settings.gradle.kts b/examples/kotlin/settings.gradle.kts new file mode 100644 index 0000000..65d0bd6 --- /dev/null +++ b/examples/kotlin/settings.gradle.kts @@ -0,0 +1 @@ +rootProject.name = "examples-kotlin" diff --git a/examples/kotlin/src/main/kotlin/com/example/Main.kt b/examples/kotlin/src/main/kotlin/com/example/Main.kt new file mode 100644 index 0000000..f6cdb3c --- /dev/null +++ b/examples/kotlin/src/main/kotlin/com/example/Main.kt @@ -0,0 +1,3 @@ +package com.example + +fun main(args: Array) = println("Hello world.") \ No newline at end of file diff --git a/examples/kotlin/src/test/kotlin/com/example/MainTest.kt b/examples/kotlin/src/test/kotlin/com/example/MainTest.kt new file mode 100644 index 0000000..96458e9 --- /dev/null +++ b/examples/kotlin/src/test/kotlin/com/example/MainTest.kt @@ -0,0 +1,8 @@ +package com.example + +import org.testng.annotations.Test + +class ExampleTest { + @Test + fun f() = println("Running test") +} \ No newline at end of file diff --git a/examples/kotlin/version.properties b/examples/kotlin/version.properties new file mode 100644 index 0000000..287404e --- /dev/null +++ b/examples/kotlin/version.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 21:44:37 PDT 2018 +version.prerelease= +version.buildmeta= +version.patch=0 +version.major=1 +version.minor=0 diff --git a/examples/settings.gradle b/examples/settings.gradle new file mode 100644 index 0000000..306a83f --- /dev/null +++ b/examples/settings.gradle @@ -0,0 +1,2 @@ +include 'java', 'kotlin', 'annotation-processor:java', 'annotation-processor:kotlin' +rootProject.name = 'examples' \ No newline at end of file diff --git a/examples/test/build.gradle b/examples/test/build.gradle index a0d7017..81eac11 100644 --- a/examples/test/build.gradle +++ b/examples/test/build.gradle @@ -23,6 +23,12 @@ repositories { jcenter() } +task cleanVersion { + delete "test.properties" +} + +clean.dependsOn("cleanVersion") + run { //dependsOn("incrementPatch") doFirst { diff --git a/examples/test/test.properties b/examples/test/test.properties index 6bcc88e..ea8ca13 100644 --- a/examples/test/test.properties +++ b/examples/test/test.properties @@ -1,7 +1,7 @@ #Generated by the Semver Plugin for Gradle -#Sun Jul 01 11:09:26 PDT 2018 +#Sun Jul 01 13:20:13 PDT 2018 test.major=1 -test.prerelease=beta -test.meta=007 -test.patch=3 +test.prerelease= +test.meta= +test.patch=0 test.minor=0 diff --git a/examples/test/version.properties b/examples/test/version.properties new file mode 100644 index 0000000..d7c2a53 --- /dev/null +++ b/examples/test/version.properties @@ -0,0 +1,7 @@ +#Generated by the Semver Plugin for Gradle +#Sun Jul 01 13:11:20 PDT 2018 +version.prerelease= +version.buildmeta= +version.patch=0 +version.major=1 +version.minor=0