我想在Gradle项目中引入Checkstyle规则,即存储库中的任何文件都不能包含制表符,包括源集之外的文件(例如README.md
)。
我尝试了以下配置:
apply plugin: 'java'
apply plugin: 'checkstyle'
checkstyle {
checkstyleMain.source = '.'
}
然后得到exception:
Failed to capture snapshot of input files for task 'checkstyleMain' during up-to-date check. See stacktrace for details.
Failed to create MD5 hash for file .gradle2.7taskArtifactscache.properties.lock.
这意味着我需要排除.gradle
目录和最有可能的其他目录,如.git
或.idea
,但是我怎么做呢?
这就是适合我的解决方案。它分析项目中的所有文件,除了.git
, .idea
, gradle
, build
和其他IntelliJ IDEA或Gradle特定的自动生成文件。
apply plugin: 'java'
apply plugin: 'checkstyle'
checkstyle {
toolVersion = '6.12.1'
}
checkstyleMain {
source = fileTree('.') {
excludes = ['.*/**', 'gradle*', 'build/**', '*.iml', '*.log', '**/*.jar']
}
}