Gradle / Android tasks to run findbugs and pmd static code checkers after assembleDebug. thanks to https://gist.github.com/rciovati/8461832
apply plugin: 'findbugs'
apply plugin: 'pmd'
findbugs {
ignoreFailures = true
reportsDir = file("$project.buildDir/outputs/")
reportLevel = "medium"
effort = "max"
}
pmd {
ignoreFailures = true
reportsDir = file("$project.buildDir/outputs/")
}
task findbugs(type: FindBugs, dependsOn: assembleDebug) {
description 'Run findbugs'
group 'verification'
classes = fileTree("build/intermediates/classes/debug/")
source = fileTree('src/main/java')
classpath = files()
effort = 'max'
excludeFilter = file("../setup/findbugs_exclude.xml")
reports {
xml.enabled = false
html.enabled = true
}
}
task pmd(type: Pmd, dependsOn: assembleDebug) {
description 'Run pmd'
group 'verification'
ruleSets = ["java-basic", "java-braces", "java-strings", "java-design", "java-unusedcode"]
source = fileTree('src/main/java')
reports {
xml.enabled = false
html.enabled = true
}
}
check.doLast {
project.tasks.getByName("findbugs").execute()
project.tasks.getByName("pmd").execute()
}
<FindBugsFilter>
<Match>
<Class name="~.*R\$.*" />
</Match>
<Match>
<Class name="~.*Manifest\$.*" />
</Match>
</FindBugsFilter>*R
// How to use it inside any gradle build
apply from: "quality.gradle"