我正在为我们的项目评估gradle。我们有多个小项目,包含小的util库。大多数项目都在一个额外的存储库中,不能使用共享的构建脚本。 在多个项目中工作时,使用相同的功能分支。我已经设法让gradle将branchname作为分类器放入创建的maven工件中。 对于我们的持续集成,如果存在,使用自己的分支名称解析对这样的库的依赖性将非常有用。如果不是,它应该回退到正常的声明版本。
我设法通过resolutionStrategy.eachDependency更改版本但是如果没有此分支的版本存在,我找不到实现回退的方法。
这有什么办法可以实现吗?
此致 arne
答案 0 :(得分:4)
您必须编写一些代码才能实现此目的。例如,您可以复制配置,通过resolutionStrategy.eachDependency
为复制的配置设置分类器,通过configuration.resolvedConfiguration.lenientConfiguration
解析复制的配置,检查可以解析哪些依赖关系,然后相应地选择原始配置的分类器(再次通过resolutionStrategy.eachDependency
)。完成所有这一切的最佳位置是configuration.incoming.beforeResolve
。