代码之家  ›  专栏  ›  技术社区  ›  Arne

选择带有Branchname的版本作为带有Gradle的分类器

  •  4
  • Arne  · 技术社区  · 12 年前

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

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

    有什么办法可以实现这一点吗?

    当做 阿恩

    1 回复  |  直到 12 年前
        1
  •  4
  •   Peter Niederwieser    12 年前

    要实现这一点,您必须编写一些代码。例如,您可以复制配置,通过 resolutionStrategy.eachDependency ,通过解析复制的配置 configuration.resolvedConfiguration.lenientConfiguration ,检查可以解析哪些依赖项,然后相应地为原始配置选择分类器(再次通过 解决方案策略每个依赖项 ). 最好的地方是 configuration.incoming.beforeResolve .