我正在为新的Java项目编写我的第一个Ivy配置,并且正在尝试将我的ivy-settings.xml文件挂钩到我的buildscript。
我已经按照所有教程并正确地将xmlns:ivy="antlib:org.apache.ivy.ant"
命名空间添加到了我的build.xml文件中。到目前为止,我已经尝试运行我的resolve和cleancache目标,它们分别运行ivy:resolve
和ivy:cleancache
,并且所有目标似乎都在工作(Ant可以找到Ivy)。
然而......当我运行常春藤:解决时,它默认会直接进入公共回购。由于我的解析器是用来查看我的SVN根目录的,所以我必须得出结论,Ivy没有看到我的ivy-settings.xml文件,默认情况下会进入公共存储库。
我故意将我的ivy-settings.xml文件保存为源代码管理中的单独项目,因为它将被我的所有项目使用。
所以我的问题:
如何指示Ant buildcipt在我的文件系统中的其他位置查找ivy-settings.xml的签出版本,而不只是在本地与build.xml位于同一目录中?
答案 0 :(得分:1)
将设置文件名更改为:
ivysettings.xml
如果要更改此默认名称和位置(与构建文件相同的目录),请使用“设置”任务
这是我在调用 cleancache 任务的常春藤解决之前确保加载设置文件的方法。创建一个名为 init 的目标,该目标被声明为依赖项
<target name="init">
<ivy:settings file="../../ivysettings.xml"/>
</target>
<target name="resolve" depends="init">
<ivy:resolve/>
</target>
<target name="clean" description="Cleanup build directory">
<delete dir="${build.dir}"/>
</target>
<target name="clean-all" depends="init,clean" description="Clean and purge caches">
<!-- Purge the ivy cache -->
<ivy:cleancache/>
</target>