checkstyle/findbugs/pmd的gradle 插件的使用

checkstyle/findbugs/pmd 是很好的代码检查工具,三者均有gradle plugin存在。 实际上很多IDE像Android Studio等早已集成了。

其中findbugs是依赖于编译生成的类文件的。

在gradle的编译脚本build.gradle里面,添加上述三种插件的使用脚本如下:

apply plugin: 'findbugs'
apply plugin: 'pmd'
apply plugin: 'checkstyle'


task checkstyle(type: Checkstyle){
    configFile = file("google_android_checks.xml")
    source = fileTree('src')
    ignoreFailures = true
    classpath = files()
}

task findbugs(type: FindBugs, dependsOn: 'compileDebugSources') {
    classes = fileTree("build/intermediates/classes/debug/")
    source = fileTree('src')
    classpath = files()
    ignoreFailures = true
    //reportsDir = file("$project.buildDir/outputs/")
    reportLevel = "medium"
    effort = "max"
    reports {
        xml.enabled = true
        html.enabled = false
    }
}

task pmd (type: Pmd) {
    ruleSets = [
            'java-android',
            'java-basic',
            'java-braces',
            'java-clone',
            'java-codesize',
            //'java-comments',
            'java-controversial',
            'java-coupling',
            'java-design',
            'java-empty',
            'java-finalizers',
            'java-imports',
            'java-j2ee',
            'java-javabeans',
            'java-junit',
            'java-logging-jakarta-commons',
            'java-logging-java',
            'java-migrating',
            'java-naming',
            'java-optimizations',
            'java-strictexception',
            'java-strings',
            'java-sunsecure',
            'java-typeresolution',
            'java-unnecessary',
            'java-unusedcode'
    ]
    source = fileTree('src')
    ignoreFailures = true
    reports {
        xml.enabled = true
        html.enabled = false
    }
}

运行gradle checkstyle findbugs pmd就会在reports目录下得到对应的结果,这里是xml文件。当然也可以是html格式, 但checkstyle不支持, 且gradle 2.8 支持的checkstyle 版本是5.9, 最新的版本已经是6.12了。。

你可能感兴趣的:(android,gradle,findbugs,checkstyle,pmd)