package into jar file
easily run tests
define dependencies

implementation
testImplementation
src/main/java
src/main/resources
src/test/java
src/test/resources
everythings is configurable
eclipse -> new -> file -> gradle project

structure of gradle project

example source code
package com.tomgregory.languageapp;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
public class SayHello {
public static void main(String[] args) throws IOException {
String language = args[0];
InputStream resourceStream = SayHello.class.getClassLoader().getResourceAsStream(language + ".txt");
assert resourceStream != null;
BufferedReader bufferedInputStream = new BufferedReader(new InputStreamReader(resourceStream, StandardCharsets.UTF_8));
System.out.println(bufferedInputStream.readLine());
}
}
cd to project folder
C:\workspace\scheduler\get-going-with-gradle
show gradlew tasks
gradlew tasks
gradlew tasks --all
compileing java project
gradlew compileJava
build resources files
gradlew processResources
make jar acheive
gradlew jar
cd to jar path
cd C:\workspace\scheduler\get-going-with-gradle\lib\build\libs
run jar
java -jar lib.jar en
java -jar lib.jar es
gradle make easy to test
cd to project path
cd C:\workspace\scheduler\get-going-with-gradle
start test
gradlew test
if the function has one more more argument
println 'Bracket-free' same as println('Bracket-free')
Gradle build script makes use of the Groovy feature
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter:5.6.3'
}
it's same to this
void dependencies(Closure var1);
and this
dependencies ({
testImplementation 'org.junit.jupiter:junit-jupiter:5.6.3'
})
dependencies is method
def amazingCalculator = {a, b -> a + b }
println amazingCalculator(2, 3) // print5

gradlew clean
gradlew assemble
gradlew check
gradlew clean
gradlew build