2013-04-16 73 views
2

兼容的版本我都有一个共同的组件,它是在不断向前发展。许多项目都依赖于这个组件。现在,我使用rev =“latest.release”作为依赖项。但是这可能会破坏构建,考虑释放组件的不兼容2.0。我想表达的是:使用补丁级别的最新版本。常春藤:解决只能用版本范围

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

+0

请参阅:http://stackoverflow.com/questions/11690787/how-to-use-ivy-integration-versions-against-old-versions-of-code/11696538#11696538以及http:// stackoverflow。 com/questions/3696831/overriding-an-ivy-dependencies-revision/3704998#3704998 –

回答

1

常春藤不支持这样的依赖性:

<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

支票对于额外的属性是对平等,而常春藤状态是comparaison(发布>集成)。在你的使用案例中,只有“释放”,它应该是一样的。

但是,然后它会要求您将e:mystatus传播到您在常青藤资源库中的每个模块,这可能很痛苦,具体取决于您控制常青藤资源库的次数。

+0

看起来很有希望,谢谢。将评估并确认。 –