Gradle 任务定义继承



是否可以从一个任务定义继承另一个任务定义?我想做的是创建一些测试配置文件,所以我会有默认测试 -

test {
    include 'com/something/something/**'
    exclude 'com/something/else/**'
    maxParallelForks 5
    testLogging{
        exceptionFormat "full"
        showStackTraces = false
    }
    jvmArgs '-Xms128m', '-Xmx512m', '-XX:MaxPermSize=128m'
}

还有一些带有覆盖"包含"或"maxParallelForks"部分等的测试。

是否可以不创建新的任务类?

您可以使用以下构造一次性配置所有这些任务,前提是它们属于同一类型:

tasks.withType(Test) {
  include 'com/something/something/**
  ...
}

这将一次性配置"测试"类型的所有任务。之后,您可以覆盖配置。

或者,

如果不想设置所有任务,或者其中一些任务具有不同的类型,则可以枚举它们,如以下代码片段所示。

["test","anotherTestTask"].each { name ->
  task "$name" {
    include ...
  }
}

请记住,您拥有 Groovy 的全部脚本功能,因此这里有很多选择......

最新更新