dependencies {
test "com.test:testA:1.0@jar"
test "com.test:testB:1.0@jar"
}
task('collectArtifacts', type: Copy) {
from project.configurations.test
into 'artifacts/'
}
假设缺少工件测试A并且测试B可用
当我使用 ./gradlew collectArtifacts 时,它显然抱怨说">找不到com.test:testA:1.0"。
我怎样才能要求 gradle :
- 如果 testA 可用,则 gradle 会同时下载 testA 和 testB
- 如果 testA 不可用,我希望 gradle 忽略 testA 依赖项的解析失败并继续下载 testB。
也许有点
违反直觉,您可以将getResolvedConfiguration()
与getLenientConfiguration()
结合使用来检索在某些引用不可解析时不会失败的配置。
task('collectArtifacts', type: Copy) {
from project.configurations.test.resolvedConfiguration.lenientConfiguration.getFiles(Specs.satisfyAll())
into 'artifacts/'
}
请参阅文档。
您可以尝试以下操作。不确定test
到底是什么,所以我假设它是testCompile
的错字。
task('collectArtifacts', type: Copy) {
from project.configurations.testCompile.findAll { it.exists() }
into 'artifacts/'
}