gradle-quality-plugin
                                
                                
                                
                                    gradle-quality-plugin copied to clipboard
                            
                            
                            
                        Gradle quality plugin for Java and Groovy
Gradle quality plugin
DOCUMENTATION http://xvik.github.io/gradle-quality-plugin
About
Static code analysis for Java and Groovy projects using Checkstyle, PMD, CPD, SpotBugs and CodeNarc. Plugin implements unified console output for all quality plugins, which greatly simplifies developer workflow: only console required for working with violations and makes it feel the same as java compiler errors.
For example, in IntelliJ Idea it would look like:

Features:
- Zero configuration by default: provided opinionated configs applied to all quality plugins
- Default configuration files may be customized
 
 - Adds extra javac lint options to see more warnings
 - Complete console output for all quality plugins
 - Html and xml reports for all plugins (custom xsl used for findbugs html report because it can't generate both xml and html reports)
 - Grouping tasks to run registered quality plugins for exact source set (e.g. checkQualityMain)
 
Summary
- Configuration: 
quality - Tasks:
initQualityConfig- copy default configs for customizationcheckQuality[Main]- run quality tasks for main (or any other) source set
 - Enable plugins: Checkstyle, PMD, SpotBugs, CodeNarc
 
Setup
NOTE: when updating plugin version in your project don't forget to call clean task to remove cached configs from previous plugin version
plugins {
    id 'ru.vyarus.quality' version '4.8.0'
}
OR
buildscript {
    repositories {
        mavenCentral()
        gradlePluginPortal()
    }
    dependencies {
        classpath 'ru.vyarus:gradle-quality-plugin:4.8.0'
    }
}
apply plugin: 'ru.vyarus.quality'
Minimal requirements: java 8, gradle 5.6
Compatibility
Plugin compiled for java 8, compatible with java 11
| Gradle | Version | 
|---|---|
| 5.6 | 4.8.0 | 
| 5.1 | 4.2.2 | 
| 4.1 | 3.4.0 | 
| older | 2.4.0 | 
Java tools require sourceCompatibility=1.8 (or above).
Version 3.3.0 is the latest supporting sourceCompatibility=1.6
Snapshots
Snapshots may be used through JitPack
- Go to JitPack project page
 - Select 
Commitssection and clickGet iton commit you want to use (you may need to wait while version builds if no one requested it before) or usemaster-SNAPSHOTto use the most recent snapshot 
For gradle before 6.0 use buildscript block with required commit hash as version:
buildscript {
    repositories {
        maven { url 'https://jitpack.io' }
    }
    dependencies {
        classpath 'ru.vyarus:gradle-quality-plugin:b9474cab84'
    }
}
apply plugin: 'ru.vyarus.quality'
For gradle 6.0 and above:
- 
Add to
settings.gradle(top most!) with required commit hash as version:pluginManagement { resolutionStrategy { eachPlugin { if (requested.id.namespace == 'ru.vyarus.quality') { useModule('ru.vyarus:gradle-quality-plugin:b9474cab84') } } } repositories { maven { url 'https://jitpack.io' } gradlePluginPortal() } } - 
Use plugin without declaring version:
plugins { id 'ru.vyarus.quality' } 
Usage
Read documentation
Might also like
- mkdocs-plugin - beautiful project documentation generation
 - python-plugin - use python modules in build
 - pom-plugin - improves pom generation
 - java-lib-plugin - avoid boilerplate for java or groovy library project
 - github-info-plugin - pre-configure common plugins with github related info
 - animalsniffer-plugin - java compatibility checks
 - java-library generator - java library project generator