我正在为我们的项目评估 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/