运行 Checkstyle 在所有项目文件上使用 Gradle
Run Checkstyle using Gradle on all project files
我想将 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.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']
}
}
我想将 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.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']
}
}