如何在gradle中禁用测试的checkstyle规则?

sg2wtvxw  于 2023-02-09  发布在  其他
关注(0)|答案(7)|浏览(380)

使用maven I disabled checkstyle for tests,如何在gradle中禁用checkstyleTest任务?
我已经分别尝试了这些变化

checkstyle {
  toolVersion = '6.10.1'
  exclude '**/*Test.java'
}
checkstyleTest {
   sourceSets = []
}

结果都是错误的

pjngdqdw

pjngdqdw1#

您可以直接使用以下命令:./gradle build -x checkstyleMain

wtlkbnrh

wtlkbnrh2#

正如我在另一个帖子链接中已经说过的
试试这个吧

tasks.withType(Checkstyle) {
    ignoreFailures true
    exclude '**/**'
}
lkaoscv7

lkaoscv73#

您可以将sourceSets设置为空数组(或[])以跳过此任务。https://docs.gradle.org/current/dsl/org.gradle.api.plugins.quality.CheckstyleExtension.html#org.gradle.api.plugins.quality.CheckstyleExtension:sourceSets
您也可以使用“-x checkstyleTest”通过命令行排除任务。

nbysray5

nbysray54#

显然,您可以将checkstyleTest上未记录的(可能未充分记录?可能是继承的或其他)enabled属性(在闭包中访问该属性在文档中并不明显)设置为false

checkstyle {
  toolVersion = '6.10.1'
  checkstyleTest.enabled = false
}
wecizke3

wecizke35#

最简洁的方法是告诉Gradle仅执行您需要的Checkstyle任务,方法是按如下方式指定它们:

checkstyle {
    toolVersion = '6.10.1'
    sourceSets = [project.sourceSets.main]
}

只是禁用不需要的任务也可以,但我认为上面的更干净。
在上面的例子中,checkstyleTest任务将保留在任务列表中,即使它没有被执行。我喜欢一个干净的任务列表,所以您可以通过

project.tasks.remove(project.tasks['checkstyleTest']);
gwo2fgha

gwo2fgha6#

task checkstyle(type: Checkstyle) {
    configFile file("${project.rootDir}/app/checkstyle.xml")
    source 'src'
    include '**/*.java'
    exclude '**/androidTest/**'

    classpath = files()
}
1yjd4xko

1yjd4xko7#

在staticAnalysis块中,将checkstyleEnabled设置为false

staticAnalysis {
    checkstyleEnabled = false
}

相关问题