Gradle多项目中如何将Test Fixtures纳入Checkstyle检查
为Gradle的testFixtures目录添加Checkstyle和PMD检查
Checkstyle 配置
java-test-fixtures插件已经自动创建了testFixtures源集,无需手动新建。直接通过Checkstyle的扩展或任务配置,将该源集纳入检查范围:
在项目的build.gradle(多项目场景下可放在根目录build.gradle或子项目配置文件中)添加以下代码:
checkstyle { sourceSets += sourceSets.testFixtures } // 若全局配置未生效,可使用任务级配置兜底 tasks.withType(Checkstyle) { source sourceSets.testFixtures.java.srcDirs // 如需检查testFixtures目录下的资源文件,追加此行 // source sourceSets.testFixtures.resources.srcDirs }
配置完成后,运行./gradlew checkstyleTestFixtures可单独检查testFixtures目录,或直接执行./gradlew check,该命令会包含所有Checkstyle检查任务。
PMD 配置
和Checkstyle逻辑一致,直接将testFixtures源集加入PMD的检查范围:
pmd { sourceSets += sourceSets.testFixtures } // 备选的任务级配置 tasks.withType(Pmd) { source sourceSets.testFixtures.java.srcDirs // 需要检查资源文件的话添加此行 // source sourceSets.testFixtures.resources.srcDirs }
验证时,执行./gradlew pmdTestFixtures即可单独检查testFixtures目录,或运行./gradlew check触发全量检查。
多项目全局配置
针对大型多项目仓库,建议在根目录build.gradle中通过subprojects块统一配置,避免每个子项目重复编写代码:
subprojects { apply plugin: 'java-test-fixtures' apply plugin: 'checkstyle' apply plugin: 'pmd' checkstyle { sourceSets += sourceSets.testFixtures } pmd { sourceSets += sourceSets.testFixtures } }
内容的提问来源于stack exchange,提问作者Lucas Milet
相关产品推荐
相关产品推荐

