10

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

test {

    include 'com/something/something/**'
    exclude 'com/something/else/**'

    maxParallelForks 5

    testLogging{
        exceptionFormat "full"
        showStackTraces = false
    }

    jvmArgs '-Xms128m', '-Xmx512m', '-XX:MaxPermSize=128m'
}

以及其他一些带有覆盖的“include”或“maxParallelForks”部分等的测试。

是否可以不创建新的 Task 类?

4

1 回答 1

12

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

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

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

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

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

请记住,您拥有 Groovy 的完整脚本功能,因此这里有很多选项...

于 2012-12-11T20:30:24.677 回答