我们有一个简单的Ivy存储库,我们托管一个内部服务器(Apache httpd提供JAR及其XML Ivy描述符)。
我现在需要以编程方式确定我们的repo中最新版本的依赖项。因此,如果我们有两个版本的Mockito,我们的回购可能看起来像:
mockito/ ==> organisation
mockito-all ==> module
1.9.4/ ==> revision #
mockito-all-1.9.4.jar
mockito-all-1.9.4-ivy.xml
1.9.5/
mockito-all-1.9.5.jar
mockito-all-1.9.5-ivy.xml
如果从Java中我可以使用Ivy来确定“1.9.5”是我们所拥有的mockito/mockito-all
模块的最新版本,那将是很好的。
这可能不是Ant任务,而是可能是使用ivy.jar
中存在的类的一些自定义Java代码。
有什么想法吗?提前谢谢!
答案 0 :(得分:0)
我相信您可以使用latest.integration
修订版值来指定所需的绝对最新版本。例如,像这样指定你的Ivy依赖:
<dependency org="mockito" name="mockito-all" rev="latest.integration" />
如果您不想要“边缘”版本,也可以指定latest.milestone
或latest.release
。以下是对rev
值的详细解释:http://ant.apache.org/ivy/history/latest-milestone/ivyfile/dependency.html
答案 1 :(得分:0)
所以我发现你的问题想要做同样的事情,经过一些研究发现在Ivy 2.4中存在这样的事情。
http://ant.apache.org/ivy/history/latest-milestone/use/checkdepsupdate.html
以下是示例步骤:
<target name="ivy.outdated" description="Check ivy for outdated jars">
<ivy:resolve/>
<ivy:checkdepsupdate showTransitive="false" revisionToCheck="latest.release"/>
</target>