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

Gradle 在所有项目文件上使用渐变运行Checkstyle,gradle,checkstyle,Gradle,Checkstyle,我想向Gradle项目介绍Checkstyle规则,即存储库中的任何文件都不能包含制表符,包括源代码集之外的文件(例如README.md) 我尝试了以下配置: apply plugin: 'java' apply plugin: 'checkstyle' checkstyle { checkstyleMain.source = '.' } 但我得到了一个例外: Failed to capture snapshot of input files for task 'checkstyle

我想向Gradle项目介绍Checkstyle规则,即存储库中的任何文件都不能包含制表符,包括源代码集之外的文件(例如
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
的目录,但我如何才能做到这一点?

这是适合我的解决方案。它分析项目中的所有文件,但目录除外,如
.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']
    }
}

这是对我有效的解决方案。它分析项目中的所有文件,但目录除外,如
.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']
    }
}

你确定checkstyle可以针对非java文件运行吗?是的-你甚至在Checker中有
fileExtensions
属性:我会创建一个文件树,然后排除你不想包含的目录。你确定checkstyle可以针对非java文件运行吗?是的-你甚至在Checker中有
fileExtensions
属性:我会创建文件树,然后排除不希望包含的目录。