DOCUMENTATION http://xvik.github.io/gradle-quality-plugin
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)
NOTE: the plugin is not compatible with the gradle configuration cache
- 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
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 '5.0.0'
}
OR
buildscript {
repositories {
mavenCentral()
gradlePluginPortal()
}
dependencies {
classpath 'ru.vyarus:gradle-quality-plugin:5.0.0'
}
}
apply plugin: 'ru.vyarus.quality'
Minimal requirements: java 8, gradle 7
Plugin compiled for java 8, compatible with java 11 (and above)
Gradle | Version |
---|---|
7-8 | 5.0.0 |
5.6-6 | 4.9.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 may be used through JitPack
-
Go to JitPack project page
-
Select
Commits
section and clickGet it
on commit you want to use (you may need to wait while version builds if no one requested it before) or usemaster-SNAPSHOT
to use the most recent snapshot -
Add to
settings.gradle
(top most!) (exact commit hash might be used as version):pluginManagement { resolutionStrategy { eachPlugin { if (requested.id.id == 'ru.vyarus.quality') { useModule('ru.vyarus:gradle-quality-plugin:master-SNAPSHOT') } } } repositories { gradlePluginPortal() maven { url 'https://jitpack.io' } } }
-
Use plugin without declaring version:
plugins { id 'ru.vyarus.quality' }
Read documentation
- 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