Gradle jar任务作为依赖项的渐变输出

Gradle jar任务作为依赖项的渐变输出,gradle,build.gradle,Gradle,Build.gradle,我有一个任务来制作一个这样的罐子: task contentJar(type: Jar, overwrite: true) { ... } artifacts { archives contentJar } 如何将contentJar任务生成的jar作为testRuntime依赖项包含在内 我可以这样定义依赖关系: task contentJar(type: Jar, overwrite: true) { ... } artifacts { archives content

我有一个任务来制作一个这样的罐子:

task contentJar(type: Jar, overwrite: true) {
...
}

artifacts {
    archives contentJar
}
如何将contentJar任务生成的jar作为testRuntime依赖项包含在内

我可以这样定义依赖关系:

task contentJar(type: Jar, overwrite: true) {
...
}

artifacts {
    archives contentJar
}
testRuntime文件树(dir:'build/libs',include:'*content.jar')


这是可行的,但是否有更干净的解决方案?

如果将jar作为工件添加到某些配置中,则可以依赖该配置。

在库项目中,创建一个新配置:

configurations {
  foo
}
artifacts {
  foo contentJar
}
将您的工件添加到此配置:

configurations {
  foo
}
artifacts {
  foo contentJar
}
将此项目用作其他项目中的依赖项,并使用您的配置将工件限制为contentJar:

testCompile project(path: ':Library', configuration: 'foo')

我能这样做

    dependencies {
        testRuntime contentJar.outputs.files
    }

我还没有这样做吗?您如何“依赖于该配置”?好吧,您将其作为工件添加到归档配置中。但是你可能想把它加上。G作为编译配置的工件,因此,如果jar在语义上是正确的,那么它就已经自动存在于您的测试类路径中了。您有没有示例说明如何将工件添加到编译配置中?
artifacts{compile contentJar}
正如您添加到
归档文件中一样
配置您是否将
测试运行时
依赖项添加到同一项目生成的工件中?为什么?