我正在使用最新版本的Gradle(里程碑9),并且我正在试图弄清楚如何创建所有测试二进制文件的Jar。从我在互联网上找到的,以下应该工作:
task packageTests(type: Jar) { from sourceSets.test.classes }
但是我得到了一个-无法获取源集测试上的只写属性“classes”的值。什么是正确的编码方式我试图实现什么?现在不推荐使用“classes”属性了吗?
uxhixvfz1#
将sourceSets.test.classes更改为sourceSets.test.output可解决此问题。
sourceSets.test.classes
sourceSets.test.output
vpfxa7rd2#
在2021年,现在有了KotlinDSL,所以最新的答案看起来是这样的:
tasks.register<Jar>("packageTests") { from(sourceSets.test.get().output) }
kr98yfug3#
我用Gradle / Groovy这样做:https://github.com/tomasbjerre/gradle-scripts/commit/d550e6bf79574b4920b7910e48ebd94ca959cece
task testJar(type: Jar, dependsOn: testClasses) { classifier = 'test' from sourceSets.test.allSource }
fwzugrvs4#
Gradle 8看起来像这样:
tasks.register('testJar', Jar) { dependsOn classes archiveClassifier = 'test' from sourceSets.test.allSource } tasks.named('assemble').configure { dependsOn 'testJar' }
4条答案
按热度按时间uxhixvfz1#
将
sourceSets.test.classes
更改为sourceSets.test.output
可解决此问题。vpfxa7rd2#
在2021年,现在有了KotlinDSL,所以最新的答案看起来是这样的:
kr98yfug3#
我用Gradle / Groovy这样做:
https://github.com/tomasbjerre/gradle-scripts/commit/d550e6bf79574b4920b7910e48ebd94ca959cece
fwzugrvs4#
Gradle 8看起来像这样: