51

我正在使用最新版本的 Gradle(里程碑 9),并且试图弄清楚如何创建一个包含所有测试二进制文件的 Jar。

根据我在互联网上找到的内容,以下内容应该有效:

task packageTests(type: Jar) {
  from sourceSets.test.classes
}

但是我得到了一个-

无法在源集测试上获取只写属性“类”的值。

编码我想要实现的目标的正确方法是什么?

现在是否以某种方式弃用了属性“类”?

4

3 回答 3

80

更改sourceSets.test.classessourceSets.test.output解决问题。

于 2012-04-05T22:08:47.397 回答
5

2021 年现在有 Kotlin DSL,所以最新的答案是这样的:

tasks.register<Jar>("packageTests") {
    from(sourceSets.test.get().output)
}
于 2021-04-12T18:06:28.117 回答
0

我用 Gradle / Groovy 这样做:

https://github.com/tomasbjerre/gradle-scripts/commit/d550e6bf79574b4920b7910e48ebd94ca959cece

  task testJar(type: Jar, dependsOn: testClasses) {
    classifier = 'test'
    from sourceSets.test.allSource
  }
于 2021-09-04T09:00:04.620 回答