Gradle :如何忽略解决特定依赖项的失败


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/'
}

相关内容

  • 没有找到相关文章

最新更新