我有一个不断发展的共同组件。很多项目都依赖于这个组件。现在,我使用rev =“latest.release”作为依赖。但这可能会打破构建,考虑释放组件的不兼容2.0。我想表达的是:使用补丁级别的最新版本。
所以不是“latest.release”,而是写“[1.1,1.2 [”,但这也解析了最新的集成版本(如1.1.9_dev1)。有没有办法结合版本范围和状态?
答案 0 :(得分: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
检查额外属性是关于相等,而常春藤状态是比较(发布&gt;集成)。在你的用例中只有“发布”,它应该是一样的。
但是,那么你需要将e:mystatus传播到你常春藤存储库中的每个模块,这可能很麻烦,具体取决于你控制常春藤存储库的数量。