【问题标题】:ivy: resolve only compatible release with version rangeivy:仅解析与版本范围兼容的版本
【发布时间】:2013-04-08 19:57:38
【问题描述】:

我有一个正在不断开发的通用组件。许多项目都依赖于这个组件。现在,我使用 rev="latest.release" 作为依赖项。但这可能会破坏构建,请考虑发布不兼容的 2.0 组件。我想表达的是:使用最新的版本,即补丁级别。

所以我会写“[1.1,1.2[”而不是“latest.release”,但这也解决了最新的集成版本(如 1.1.9_dev1)。有没有办法结合版本范围和状态?

【问题讨论】:

标签: ivy dependency-management


【解决方案1】:

Ivy 不支持这样的依赖:

<dependency org="org.acme" name="common" rev="[1.1,1.2[" status="release" />

但是它支持额外的属性,所以你可以这样写:

<dependency org="org.acme" name="common" rev="[1.1,1.2[" e:mystatus="release" />

见:http://ant.apache.org/ivy/history/latest-milestone/concept.html#extra

额外属性的检查是关于相等性的,而 Ivy 状态是一个比较(发布 > 集成)。在您仅关于“发布”的用例中,它应该工作相同。

但是,您需要将 e:mystatus 传播到 Ivy 存储库中的每个模块,这可能会很痛苦,具体取决于您对 Ivy 存储库的控制程度。

【讨论】:

    猜你喜欢
    • 2022-11-02
    • 2021-06-28
    • 2022-11-21
    • 2017-01-01
    • 1970-01-01
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    相关资源
    最近更新 更多