diff --git a/gradle-5/.gitignore b/gradle-5/.gitignore new file mode 100644 index 0000000000..4ded91f387 --- /dev/null +++ b/gradle-5/.gitignore @@ -0,0 +1,2 @@ +**/build/** +/build/ diff --git a/gradle-5/build.gradle b/gradle-5/build.gradle index a728845dff..84cf05bad6 100644 --- a/gradle-5/build.gradle +++ b/gradle-5/build.gradle @@ -1,54 +1,21 @@ -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" + gradleLint { + rules=['unused-dependency'] + reportFormat = 'text' } -} + group = "com.baeldung" + version = "0.0.1" + sourceCompatibility = "1.8" + targetCompatibility = "1.8" -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 + repositories { + jcenter() + } } \ No newline at end of file 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/.gitignore b/gradle-5/java-exec/.gitignore new file mode 100644 index 0000000000..84c048a73c --- /dev/null +++ b/gradle-5/java-exec/.gitignore @@ -0,0 +1 @@ +/build/ 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/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..d848cd0e0d --- /dev/null +++ b/gradle-5/unused-dependencies/build.gradle @@ -0,0 +1,8 @@ + +description = "Gradle Unused Dependencies example" + +dependencies { + implementation('com.google.guava:guava:29.0-jre') + implementation('org.apache.httpcomponents:httpclient:4.5.12') + testImplementation('junit:junit:4.12') +} 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..c2e221356c --- /dev/null +++ b/gradle-5/unused-dependencies/src/main/java/com/baeldung/unused/UnusedDependencies.java @@ -0,0 +1,39 @@ +package com.baeldung.unused; + +import java.lang.reflect.Method; +import java.util.List; +import java.util.stream.Collectors; + +import org.apache.http.ssl.SSLContextBuilder; + +import com.google.common.collect.ImmutableList; + +public class UnusedDependencies { + + public static void main(String[] args) { + System.out.println("Hello world"); + useGuava(); + useHttpCore(); + useHttpClientWithReflection(); + } + + private static void useGuava() { + List list = ImmutableList.of("Baledung", "is", "cool"); + System.out.println(list.stream() + .collect(Collectors.joining(" "))); + } + + private static void useHttpCore() { + SSLContextBuilder.create(); + } + + private static void useHttpClientWithReflection() { + try { + Class httpBuilder = Class.forName("org.apache.http.impl.client.HttpClientBuilder"); + Method create = httpBuilder.getMethod("create", null); + create.invoke(httpBuilder, null); + } catch (Exception e) { + e.printStackTrace(); + } + } +}