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



我想在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']
    }
}

最新更新