5

我们有一个简单的 Ivy 存储库,我们在内部服务器上托管(Apache httpd 提供 JAR 及其 XML Ivy 描述符)。

我现在需要以编程方式确定我们的 repo 中最新版本的依赖项。因此,如果我们有两个版本的 Mockito,我们的 repo 可能如下所示:

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 任务,而是可能是使用内部存在的类的一些自定义 Java 代码ivy.jar

有任何想法吗?提前致谢!

4

2 回答 2

2

我相信您可以使用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

于 2013-08-29T18:11:12.573 回答
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>
于 2016-11-05T19:46:57.593 回答