我将Ant
与Ivy
一起使用,因此我的compile
任务如下:
<target name="compile" depends="prepare, retrieve" ..
其中retrieve
任务用于解析和获取Ivy
依赖项。因此,由于我的compile
任务取决于retrieve
任务,因此每次编译都会触发Ivy
依赖项的解析。由于run
任务取决于run
,所以compile
同上。
这会浪费时间,所以我希望dry-compile
不依赖于Ivy
任务。
用例是如果没有Ivy
依赖项发生更改,我将能够执行ant dry-compile
甚至ant dry-run
而不会触发Ivy
解析功能。
有没有办法在Ant
中执行此操作而无需复制粘贴目标以创建具有不同depends
属性的变体?
我的 ivy.xml 文件是:
<ivy-module version="2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info organisation="foo" module="bar" status="integration"/>
<dependencies>
<dependency org="org.apache.commons" name="commons-lang3" rev="3.1"/>
</dependencies>
</ivy-module>
和Ant resolve
目标(目标compile
所依赖的)是:
<target name="test-ivy" description="Test ivy installation">
<ivy:settings />
</target>
<target name="resolve" depends="test-ivy">
<ivy:resolve/>
<ivy:retrieve sync="true" pattern="${ivylibs.dir}/[artifact]-[revision](-[classifier]).[ext]"/>
</target>
答案 0 :(得分:0)
更简单的选择是关闭基于网络的分辨率并强制常春藤使用缓存数据。
有关详细信息,请参阅以下答案: