From 7cfede4a5831ff6e5971f842d676d869186a9ec8 Mon Sep 17 00:00:00 2001 From: Sorin Zamfir Date: Thu, 18 Jun 2020 23:06:07 +0300 Subject: [PATCH] BAEL-4090: Initial module structure --- gradle-5/build.gradle | 63 ++---- gradle-5/build/lint.patch | 11 + .../gradle/wrapper/gradle-wrapper.properties | 2 +- gradle-5/java-exec/build.gradle | 47 +++++ .../build/distributions/java-exec-0.0.1.tar | Bin 0 -> 20480 bytes .../build/distributions/java-exec-0.0.1.zip | Bin 0 -> 5080 bytes gradle-5/java-exec/build/scripts/java-exec | 188 ++++++++++++++++++ .../java-exec/build/scripts/java-exec.bat | 100 ++++++++++ .../com/baeldung/gradle/exec/MainClass.java | 0 gradle-5/settings.gradle | 3 + gradle-5/unused-dependencies/.gitignore | 1 + gradle-5/unused-dependencies/build.gradle | 12 ++ .../baeldung/unused/UnusedDependencies.java | 12 ++ 13 files changed, 388 insertions(+), 51 deletions(-) create mode 100644 gradle-5/build/lint.patch create mode 100644 gradle-5/java-exec/build.gradle create mode 100644 gradle-5/java-exec/build/distributions/java-exec-0.0.1.tar create mode 100644 gradle-5/java-exec/build/distributions/java-exec-0.0.1.zip create mode 100755 gradle-5/java-exec/build/scripts/java-exec create mode 100644 gradle-5/java-exec/build/scripts/java-exec.bat rename gradle-5/{ => java-exec}/src/main/java/com/baeldung/gradle/exec/MainClass.java (100%) create mode 100644 gradle-5/settings.gradle create mode 100644 gradle-5/unused-dependencies/.gitignore create mode 100644 gradle-5/unused-dependencies/build.gradle create mode 100644 gradle-5/unused-dependencies/src/main/java/com/baeldung/unused/UnusedDependencies.java diff --git a/gradle-5/build.gradle b/gradle-5/build.gradle index a728845dff..e816cc956d 100644 --- a/gradle-5/build.gradle +++ b/gradle-5/build.gradle @@ -1,54 +1,17 @@ -plugins { - id "application" -} -apply plugin :"java" - -description = "Java MainClass execution examples" -group = "com.baeldung" -version = "0.0.1" -sourceCompatibility = "1.8" -targetCompatibility = "1.8" - -ext { - javaMainClass = "com.baeldung.gradle.exec.MainClass" +plugins{ + id "nebula.lint" version "16.9.0" } -jar { - manifest { - attributes( - "Main-Class": javaMainClass - ) +description = "Gradle 5 root project" +allprojects { + apply plugin :"java" + apply plugin :"nebula.lint" + group = "com.baeldung" + version = "0.0.1" + sourceCompatibility = "1.8" + targetCompatibility = "1.8" + + repositories { + jcenter() } -} - -application { - mainClassName = javaMainClass -} - -task runWithJavaExec(type: JavaExec) { - group = "Execution" - description = "Run the main class with JavaExecTask" - classpath = sourceSets.main.runtimeClasspath - main = javaMainClass -} - -task runWithExec(type: Exec) { - dependsOn build - group = "Execution" - description = "Run the main class with ExecTask" - commandLine "java", "-classpath", sourceSets.main.runtimeClasspath.getAsPath(), javaMainClass -} - -task runWithExecJarExecutable(type: Exec) { - dependsOn jar - group = "Execution" - description = "Run the output executable jar with ExecTask" - commandLine "java", "-jar", jar.archiveFile.get() -} - -task runWithExecJarOnClassPath(type: Exec) { - dependsOn jar - group = "Execution" - description = "Run the mainClass from the output jar in classpath with ExecTask" - commandLine "java", "-classpath", jar.archiveFile.get() , javaMainClass } \ No newline at end of file diff --git a/gradle-5/build/lint.patch b/gradle-5/build/lint.patch new file mode 100644 index 0000000000..b665fcf95e --- /dev/null +++ b/gradle-5/build/lint.patch @@ -0,0 +1,11 @@ +diff --git a/unused-dependencies/build.gradle b/unused-dependencies/build.gradle +--- a/unused-dependencies/build.gradle ++++ b/unused-dependencies/build.gradle +@@ -2,7 +2,5 @@ + description = "Gradle Unused Dependencies example" + + dependencies { +- implementation('com.google.guava:guava:29.0-jre') +- implementation('org.springframework.boot:spring-boot:2.3.1.RELEASE') + testImplementation('junit:junit:4.12') + } diff --git a/gradle-5/gradle/wrapper/gradle-wrapper.properties b/gradle-5/gradle/wrapper/gradle-wrapper.properties index b33419deee..4c46317507 100644 --- a/gradle-5/gradle/wrapper/gradle-wrapper.properties +++ b/gradle-5/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-5.5.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-bin.zip diff --git a/gradle-5/java-exec/build.gradle b/gradle-5/java-exec/build.gradle new file mode 100644 index 0000000000..08aa738902 --- /dev/null +++ b/gradle-5/java-exec/build.gradle @@ -0,0 +1,47 @@ +apply plugin: "application" + +description = "Java MainClass execution examples" + +ext { + javaMainClass = "com.baeldung.gradle.exec.MainClass" +} + +jar { + manifest { + attributes( + "Main-Class": javaMainClass + ) + } +} + +application { + mainClassName = javaMainClass +} + +task runWithJavaExec(type: JavaExec) { + group = "Execution" + description = "Run the main class with JavaExecTask" + classpath = sourceSets.main.runtimeClasspath + main = javaMainClass +} + +task runWithExec(type: Exec) { + dependsOn build + group = "Execution" + description = "Run the main class with ExecTask" + commandLine "java", "-classpath", sourceSets.main.runtimeClasspath.getAsPath(), javaMainClass +} + +task runWithExecJarExecutable(type: Exec) { + dependsOn jar + group = "Execution" + description = "Run the output executable jar with ExecTask" + commandLine "java", "-jar", jar.archiveFile.get() +} + +task runWithExecJarOnClassPath(type: Exec) { + dependsOn jar + group = "Execution" + description = "Run the mainClass from the output jar in classpath with ExecTask" + commandLine "java", "-classpath", jar.archiveFile.get() , javaMainClass +} \ No newline at end of file diff --git a/gradle-5/java-exec/build/distributions/java-exec-0.0.1.tar b/gradle-5/java-exec/build/distributions/java-exec-0.0.1.tar new file mode 100644 index 0000000000000000000000000000000000000000..02c5799319c836b400663799939d9e1876bd1b77 GIT binary patch literal 20480 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 literal 0 HcmV?d00001 diff --git a/gradle-5/java-exec/build/distributions/java-exec-0.0.1.zip b/gradle-5/java-exec/build/distributions/java-exec-0.0.1.zip new file mode 100644 index 0000000000000000000000000000000000000000..71369c77a0e8d991cfc45f7c0c707b2843876cab GIT binary patch literal 5080 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 rhVWNff1>_8Vg3h&3HZ;+{DpcsZ \(.*\)$'` + 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="java-exec" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and JAVA_EXEC_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/lib/java-exec-0.0.1.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 or MSYS, switch paths to Windows format before running java +if [ "$cygwin" = "true" -o "$msys" = "true" ] ; 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 $JAVA_EXEC_OPTS -classpath "\"$CLASSPATH\"" com.baeldung.gradle.exec.MainClass "$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/gradle-5/java-exec/build/scripts/java-exec.bat b/gradle-5/java-exec/build/scripts/java-exec.bat new file mode 100644 index 0000000000..d72b659657 --- /dev/null +++ b/gradle-5/java-exec/build/scripts/java-exec.bat @@ -0,0 +1,100 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem java-exec 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 JAVA_EXEC_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%\lib\java-exec-0.0.1.jar + +@rem Execute java-exec +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %JAVA_EXEC_OPTS% -classpath "%CLASSPATH%" com.baeldung.gradle.exec.MainClass %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable JAVA_EXEC_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%JAVA_EXEC_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/gradle-5/src/main/java/com/baeldung/gradle/exec/MainClass.java b/gradle-5/java-exec/src/main/java/com/baeldung/gradle/exec/MainClass.java similarity index 100% rename from gradle-5/src/main/java/com/baeldung/gradle/exec/MainClass.java rename to gradle-5/java-exec/src/main/java/com/baeldung/gradle/exec/MainClass.java diff --git a/gradle-5/settings.gradle b/gradle-5/settings.gradle new file mode 100644 index 0000000000..1997e12ca5 --- /dev/null +++ b/gradle-5/settings.gradle @@ -0,0 +1,3 @@ +rootProject.name='gradle-5-articles' +include 'java-exec' +include 'unused-dependencies' \ No newline at end of file diff --git a/gradle-5/unused-dependencies/.gitignore b/gradle-5/unused-dependencies/.gitignore new file mode 100644 index 0000000000..84c048a73c --- /dev/null +++ b/gradle-5/unused-dependencies/.gitignore @@ -0,0 +1 @@ +/build/ diff --git a/gradle-5/unused-dependencies/build.gradle b/gradle-5/unused-dependencies/build.gradle new file mode 100644 index 0000000000..dad023fa85 --- /dev/null +++ b/gradle-5/unused-dependencies/build.gradle @@ -0,0 +1,12 @@ + +description = "Gradle Unused Dependencies example" + +dependencies { + implementation('com.google.guava:guava:29.0-jre') + testImplementation('junit:junit:4.12') +} + +gradleLint { + rules=['all-dependency'] + reportFormat = 'text' +} diff --git a/gradle-5/unused-dependencies/src/main/java/com/baeldung/unused/UnusedDependencies.java b/gradle-5/unused-dependencies/src/main/java/com/baeldung/unused/UnusedDependencies.java new file mode 100644 index 0000000000..216227a2f1 --- /dev/null +++ b/gradle-5/unused-dependencies/src/main/java/com/baeldung/unused/UnusedDependencies.java @@ -0,0 +1,12 @@ +package com.baeldung.unused; + +public class UnusedDependencies { + + public static void main(String[] args) { + System.out.println("Hello world"); + +// List list = ImmutableList.of("Baledung", "is", "cool"); +// System.out.println(list.stream().collect(Collectors.joining(" "))); + } + +}