如何在Gradle中为测试禁用Checkstyle规则?

xen*_*ide 5 checkstyle gradle

使用Maven我禁用了checkstyle进行测试,如何禁用checkstyleTestgradle中的任务?

我已经尝试过这些变化

checkstyle {
  toolVersion = '6.10.1'
  exclude '**/*Test.java'
}
checkstyleTest {
   sourceSets = []
}
Run Code Online (Sandbox Code Playgroud)

都以错误告终

xen*_*ide 8

显然,您可以将未记录的(可能记录不足?也许它是继承的或其他)enabled属性设置checkstyleTestfalse.

checkstyle {
  toolVersion = '6.10.1'
  checkstyleTest.enabled = false
}
Run Code Online (Sandbox Code Playgroud)

  • 只是一个小提示:`checkstyleTest.enabled = false` 可以存在于 checkstyle 块之外,因为它引用名为 `checkstyleTest` 的任务。`enabled` 属性继承自 `Task` (5认同)

bar*_*uin 5

最干净的方法是通过这样指定来告诉Gradle仅执行所需的Checkstyle任务:

checkstyle {
    toolVersion = '6.10.1'
    sourceSets = [project.sourceSets.main]
}
Run Code Online (Sandbox Code Playgroud)

只是禁用不需要的任务也可以,但是我认为上面的方法更干净。

在上面的示例checkstyleTest中,即使未执行任务,该任务也将保留在任务列表中。我更喜欢干净的任务列表,因此您可以通过删除未使用的任务

project.tasks.remove(project.tasks['checkstyleTest']);
Run Code Online (Sandbox Code Playgroud)


小智 -3

您可以将 sourceSets 设置为空数组(或 [] )以跳过任务。 https://docs.gradle.org/current/dsl/org.gradle.api.plugins.quality.CheckstyleExtension.html#org.gradle.api.plugins.quality.CheckstyleExtension:sourceSets

您还可以使用“-x checkstyleTest”通过命令行排除任务。