1. Java Plugin
The Java plugin is the most fundamental plugin for Java projects. It adds tasks for compiling Java source code, running tests, and creating JAR files.
Usage
plugins {
id 'java'
}
Learn More
2. Application Plugin
The Application plugin is used for packaging and running Java applications. It provides tasks for creating distributions and running the application from the command line.
Usage
plugins {
id 'application'
}
mainClassName = 'com.example.Main'
Learn More
Application Plugin Documentation
3. JUnit Platform Plugin
The JUnit Platform plugin simplifies running JUnit 5 tests. It integrates with the test
task to execute tests on the JUnit Platform.
Usage
plugins {
id 'java'
}
repositories {
mavenCentral()
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.0'
}
test {
useJUnitPlatform()
}
Learn More
4. Checkstyle Plugin
The Checkstyle plugin generates reports on coding standards violations. It helps maintain code quality by enforcing a coding style.
Usage
plugins {
id 'checkstyle'
}
checkstyle {
toolVersion = '10.9.3'
}
tasks.withType(Checkstyle) {
configFile = file('config/checkstyle/checkstyle.xml')
}
Learn More
Checkstyle Plugin Documentation
5. PMD Plugin
The PMD plugin scans Java source code for potential bugs and possible security vulnerabilities using PMD.
Usage
plugins {
id 'pmd'
}
pmd {
toolVersion = '6.55.0'
ruleSets = ['java-basic', 'java-design']
}
tasks.withType(Pmd) {
reports {
xml.required = true
html.required = true
}
}
Learn More
6. FindBugs Plugin
The FindBugs plugin (now replaced by SpotBugs) detects potential bugs in Java programs.
Usage
plugins {
id 'com.github.spotbugs' version '4.7.9'
}
spotbugs {
toolVersion = '4.7.9'
effort = 'max'
reportLevel = 'low'
}
tasks.withType(com.github.spotbugs.SpotBugsTask) {
reports {
html.required = true
}
}
Learn More
7. JaCoCo Plugin
The JaCoCo plugin provides code coverage metrics for Java code. It integrates with the test
task to collect and report coverage data.
Usage
plugins {
id 'jacoco'
}
jacoco {
toolVersion = '0.8.9'
}
tasks.test {
finalizedBy tasks.jacocoTestReport
}
jacocoTestReport {
reports {
xml.required = true
html.required = true
}
}
Learn More
8. Shadow Plugin
The Shadow plugin simplifies creating fat/uber JARs that include all dependencies required to run the application.
Usage
plugins {
id 'com.github.johnrengelman.shadow' version '7.1.2'
}
shadowJar {
archiveClassifier.set('')
archiveVersion.set('')
}
Learn More
9. Spring Boot Plugin
The Spring Boot plugin provides support for building Spring Boot applications, including dependency management, packaging, and running the application.
Usage
plugins {
id 'org.springframework.boot' version '3.1.3'
id 'io.spring.dependency-management' version '1.1.0'
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
}
Learn More
Spring Boot Plugin Documentation
10. Kotlin Plugin
The Kotlin plugin adds support for building Kotlin projects with Gradle, including compiling Kotlin code and running tests.
Usage
plugins {
id 'org.jetbrains.kotlin.jvm' version '1.9.10'
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
}
compileKotlin {
kotlinOptions.jvmTarget = '21'
}
compileTestKotlin {
kotlinOptions.jvmTarget = '21'
}
Learn More
Conclusion
These top 10 Gradle plugins can significantly enhance your Java development workflow. They make it easier to manage dependencies, enforce coding standards, generate reports, and create deployable artifacts. By integrating these plugins into your Gradle build scripts, you can streamline your build process and improve the quality of your code.
Comments
Post a Comment
Leave Comment