Java Plugin
Gradle ships with a number of plugins, One such plugin is the Java plugin.
Java Project
- compile java source files
- run some unit tests
- create a JAR file containing your classes.
Java plugin - tasks
applying java
- compileJava
- compiles all the Java source files under src/main/java
- compileTestJava
- for source files under src/test/java
- test
- runs the tests from src/test/java
- jar
- packages the main compiled classes and resources from src/main/resources into a single JAR named -.jar
- javadoc
- generates Javadoc for the main classes
Java plugin is convention based.
- defines default values for many aspects of the project:such as where the Java source files are located.
- Gradle allows you to customize your project if you don’t want to or cannot follow the convention in some way.
- you don’t have to use the plugin at all to build a Java project, if you don’t want to.
Introducing Compile-Only Dependencies
refer to compileOnly
- similarly to Maven’s provided scope
- allowing you to declare non-transitive dependencies used only at compilation time.
- use cases
- Dependencies required at compile time but never required at runtime, such as source-only annotations or annotation processors;
- Dependencies required at compile time but required at runtime only when using certain features, a.k.a. optional dependencies;
- Dependencies whose API is required at compile time but whose implementation is to be provided by a consuming library, application or runtime environment.