按顺序调用2个常春藤文件

时间:2012-10-17 19:57:55

标签: ant ivy ant-contrib

我试图一个接一个地调用2个。

当我的ivy_portlet.xml存在时,不会执行第二次调用。

当我的ivy_portlet.xml不存在时,第二个调用将检索ivy.xml的内容

当有2个文件时,只执行第一个文件。

我错过了什么?

    <if>
        <available file="${basedir}/ivy_portlet.xml" />
        <then>
            <echo message="Getting runtime portlet dependencies using Ivy project's configuration" />
            <ivy:retrieve pattern="${project.lib.dir}/[conf]/[artifact]-[revision](-[classifier]).[ext]" file="${basedir}/ivy_portlet.xml"/>
        </then>
    </if>
    <if>
        <available file="${basedir}/ivy.xml" />
        <then>
            <echo message="Getting deps using Ivy project's configuration" />
            <ivy:retrieve pattern="${project.lib.dir}/[conf]/[artifact]-[revision](-[classifier]).[ext]" file="${basedir}/ivy.xml"/>
        </then>
    </if>

2 个答案:

答案 0 :(得分:0)

蚂蚁代码看起来很好,我甚至在本地测试它(没有常春藤检索任务)和两个if语句执行。当两个文件都存在且第一个常春藤检索触发时,检索是否成功完成而没有错误或失败?也许它因失败而短路。看到日志可以帮到这里。

答案 1 :(得分:0)

这就是诀窍:

当使用与ivy.xml不同的文件名时,必须进行解析调用。

<ivy:resolve file="${rpm.homedir}/Builder/ivy_portlet.xml"/>