在所有项目文件上使用Gradle运行Checkstyle

时间:2015-10-19 21:25:25

标签: gradle checkstyle

我想将Checkstyle规则引入Gradle项目,即存储库中的任何文件都不能包含制表符,包括源集外的文件(例如README.md)。

我已尝试使用以下配置:

apply plugin: 'java'
apply plugin: 'checkstyle'

checkstyle {
    checkstyleMain.source = '.'
}

然后我得到例外:

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 .gradle\2.7\taskArtifacts\cache.properties.lock.

这意味着我需要排除.gradle目录,最有可能排除其他目标,例如.git.idea,但我该怎么办呢?

1 个答案:

答案 0 :(得分:0)

这是适合我的解决方案。它会分析项目中的所有文件,但.git.ideagradlebuild以及其他IntelliJ IDEA或Gradle特定自动生成文件等目录除外。

apply plugin: 'java'
apply plugin: 'checkstyle'

checkstyle {
    toolVersion = '6.12.1'
}

checkstyleMain {
    source = fileTree('.') {
        excludes = ['.*/**', 'gradle*', 'build/**', '*.iml', '*.log', '**/*.jar']
    }
}