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了。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值