我们使用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.
答案 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
。