gradle - 使用 Gradle 选择分支名称作为分类器的版本

标签 gradle dependency-management

我正在为我们的项目评估 gradle。我们有多个包含小型 util 库的小型项目。大多数项目都在一个额外的存储库中,不能使用共享的构建脚本。
当跨多个项目工作时,使用相同的功能分支。我已经设法让 gradle 将分支名称作为分类器放入创建的 maven 工件中。
对于我们的持续集成,如果它存在,那么使用它自己的分支名称解析对这样一个库的依赖将非常有帮助。如果不是,它应该回退到正常的声明版本。

我设法通过 resolutionStrategy.eachDependency 更改了版本,但是如果不存在此分支的版本,我找不到实现回退的方法。

有什么办法可以实现吗?

问候,
阿恩

最佳答案

您必须编写一些代码来实现这一点。例如,您可以复制配置,通过 resolutionStrategy.eachDependency 为复制的配置设置分类器。 , 通过 configuration.resolvedConfiguration.lenientConfiguration 解析复制的配置,检查可以解决哪些依赖项,然后相应地为原始配置选择分类器(再次通过 resolutionStrategy.eachDependency )。完成所有这些工作的最佳地点是 configuration.incoming.beforeResolve .

关于gradle - 使用 Gradle 选择分支名称作为分类器的版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22779806/

相关文章:

java - 更新 Gradle 项目库

C#如何引用不同版本依赖的依赖

gradle - 如何从编译中排除依赖项而不是从 testCompile 中排除依赖项

java - 无法在 Android 中使用 Selenium 依赖项(在纯 Java 中工作)

java - 在库中提供依赖项,在项目中使用以前的版本

java - 加载 Activity 时出现NoClassDefFoundError

gradle - 使用build参数控制gradle运行时依赖项

kotlin - kotlin-gradle-plugin 如何使用 'kotlin.code.style' 属性?

c++ - 滥用 soversion minor revision 来支持可选的依赖

android - Android Studio如何构建所有Gradle buildTypes