Gradle Java Plugin: Difference between revisions
Line 21: | Line 21: | ||
Also see: {{Internal|Gradle_Dependencies_and_Dependency_Configurations#Configurations|Dependency Configurations}} | Also see: {{Internal|Gradle_Dependencies_and_Dependency_Configurations#Configurations|Dependency Configurations}} | ||
===The "main" Source Set=== | ===The "main" Source Set=== | ||
The "main" source set is conventionally associated with all source files found under src/main/java and all resource files from src/main/resources. The sources managed by the "main" source set are compiled by the [[#compileJava|compileJava]] task. | The "main" source set is conventionally associated with all source files found under src/main/java and all resource files from src/main/resources. The sources managed by the "main" source set are compiled by the [[#compileJava|compileJava]] task. The [[#jar|jar]] task packages the "main" source set compiled classes and resources. | ||
===The "test" Source Set=== | ===The "test" Source Set=== |
Revision as of 02:01, 28 March 2021
External
Internal
TODEPLETE
Overview
The Java plugin adds Java compilation, testing and packaging capabilities to a project. It also serves as the basis for many of the other JVM language Gradle plugins.
plugins {
id 'java'
}
However, Java Library plugin should be used by default with Java projects instead of Java plugin. Java Library plugin extends the Java plugin, so it offers all the features of the Java plugin, plus a set of additional ones:
The Java plugin instantiates by default two source sets ("main" and "test"). Each of these source sets has an associated compile task: compileJava (which should have been called compileMainJava) for the "main" source set and compileTestJava for the "test" source set.
Concepts
Source Set
Also see:
The "main" Source Set
The "main" source set is conventionally associated with all source files found under src/main/java and all resource files from src/main/resources. The sources managed by the "main" source set are compiled by the compileJava task. The jar task packages the "main" source set compiled classes and resources.
The "test" Source Set
The "test" source set is conventionally associated with all the source file under src/test/java. The sources managed by the "test" source set are compiled by the compileTestJava task, and the tests are executed by the test task.
Resource Files
Java Toolchain
Configuration
Various aspects related to Java compilation are set in the "java" script block:
java {
toolchain {
languageVersion = JavaLanguageVersion.of(11)
}
}
Tasks
assemble
build
buildDependents
buildNeeded
check
classes
clean
compileJava
The "compileJava" task compiles the sources managed by the "main" source set. The task is backed by the JavaCompile type.
compileTestJava
The "compileTestJava" task compiles the sources managed by the "test" source set. The task is backed by the JavaCompile type.
jar
Assembles the JAR file, based on the classes and resources attached to the main source set. Depends on classes. The task is backed by the Jar type. Configuration details in:
javadoc
processResources
processTestResources
test
The "test" task runs all the tests from the "test" source set (src/test/java).
testClasses
Java Plugin Predefined Task Types
JavaCompile
JavaCompile exposed as "compileJava" task