2014-10-30 67 views
2

我正在用Gradle构建一个Java项目。我想分开任务:如何使用Gradle为测试代码和生产代码指定不同的(PMD,Checkstyle,Findbugs)规则集?

我想对生产代码 使用严格规则(即PMD,Checkstyle,Findbugs)以及更宽松的规则(即允许重复的字符串和幻数)进行测试。

我以前用蚂蚁做过这个(很简单),即使我知道我可以从Gradle调用ant任务,但我宁愿使用相应的插件。

我怎么去呢?

对于PMD我当前构建脚本如下:

apply plugin: 'pmd' 
pmd { 
    ignoreFailures = true 
    ruleSetFiles = files("$staticAnalysisCfgDir/pmd/pmdruleset.xml") 
    toolVersion = '5.1.3' 
    sourceSets = [sourceSets.main, sourceSets.test] 
} 

回答

2

而不是在pmd扩展配置规则集,对pmdMainpmdTest任务(相同的语法)配置。同样适用于Checkstyle和FindBugs。

+0

我在发布问题之前试过,但没有奏效。现在我再次尝试,而没有指定'sourceSets' =>它的工作原理! – 2014-10-31 11:08:27

+0

'sourceSets'仅在'pmd'扩展中可用。它有效地确定'pmdMain','pmdTest'等中的哪一个将作为'gradle build'的一部分运行。有关API的详细信息,请查看[Gradle Build Language Reference](http://gradle.org/docs/current/dsl/index.html)。 – 2014-10-31 13:43:22

相关问题