选项1
严格地说,您有两组已解析的库,所以这可以通过拥有两个常青藤文件来解决。一个列出对最新集成版本的依赖,另一个列出最新版本。
然后build.xml文件将有两个解析目标,由一个release属性控制。
<target name="resolve-int" unless="release.build">
<ivy:resolve file="ivy-int.xml"/>
</target>
<target name="resolve-rel" if="release.build">
<ivy:resolve file="ivy-rel.xml"/>
</target>
<target name="resolve" depends="resolve-int,resolve-rel"/>
选项2
使用属性确定所需的动态修订:
IV.XML
<ivy-module version="2.0">
<info organisation="com.myspotontheweb" module="demo"/>
<dependencies>
<dependency org="commons-lang" name="commons-lang" rev="${dynamic.revision}"/>
</dependencies>
</ivy-module>
编译文件
财产
动态.修订
默认值为
最新集成
<project xmlns:ivy="antlib:org.apache.ivy.ant" name="demo-ivy" default="resolve">
<property name="dynamic.revision" value="latest.integration"/>
<target name="resolve">
<ivy:resolve/>
</target>
..
</project>
然后,一个发布版本将覆盖这个值,可能来自命令行,如下所示:
ant -Ddynamic.revision=latest.release