如何使用Checkstyle Gradle插件测试不仅仅是java文件

时间:2014-02-19 02:30:26

标签: gradle checkstyle

我们使用Checkstyle在我们的多项目Gradle版本中强制执行基本代码质量规则。其中一些规则适用于所有文件类型,而不仅仅适用于Java文件,但我们无法弄清楚如何配置Checkstyle Plugin以查看$projectDir/src/$sourceSet/java以外的任何文件。

我们要强制执行的最基本规则之一是永远不会使用制表符。 checkstyle.xml的相关位:

<module name="Checker">
  <module name="FileTabCharacter">
    <property name="eachLine" value="true"/>
  </module>
</module>

以及配置插件的build.gradle代码段:

apply plugin: 'checkstyle'
checkstyle {
  configFile = new File(rootDir, 'checkstyle.xml')
}

java/**/*之外,我们还要检查conf/**/*www/**/*中的所有文件(假设包含的规格与源设置根相对)。但是,如果我尝试添加这些包含规则:

apply plugin: 'checkstyle'
checkstyle {
  configFile = new File(rootDir, 'checkstyle.xml')
  include 'conf/**/*'
  include 'www/**/*'
}

我们收到以下错误:

> Could not find method include() for arguments [conf/**/*] on org.gradle.api.plugins.quality.CheckstyleExtension_Decorated@467763f.

1 个答案:

答案 0 :(得分:4)

您可以通过直接配置相应的Checkstyle任务来实现此目的。例如:

tasks.checkstyle { // `checkstyle` alone refers to the extension, not the task
    source "src/main/conf"
    source "src/main/www"
}

有关详情,请参阅Gradle Build Language Reference中的Checkstyle