Ant - 如果条件/和 - 或

时间:2014-07-23 12:42:03

标签: ant ant-contrib

我想知道是否有可能在Ant(v1.9.4)中制作类似的东西: if((a = 1或a = 2)和(b = 3))然后......

我试过

<ac:if>
        <or>
            <equals arg1="${aa}" arg2=""/>
            <not>
                <isset property="a"/>
            </not>
        </or>
        <and>
            <contains string="${b}" substring="${c}" casesensitive="false"/>
        </and>
        <then>
            <property name="b" value="true" />
        </then>
</ac:if>

但是我在运行它时遇到了错误......

感谢您的帮助,

此致

1 个答案:

答案 0 :(得分:3)

使用Ant-contrib,您必须在if任务下拥有一个条件,如下所示(您不能同时拥有<or><and>)。在将属性与equals的值进行比较时,您也无需检查属性是否已设置为语义上覆盖:

<if>
    <and>
        <or>
            <equals arg1="${a}" arg2="1" />
            <equals arg1="${a}" arg2="2" />
        </or>
        <equals arg1="${b}" arg2="3" />
    </and>
    <then>
        <!-- do stuff -->
    </then>
    <else>
        <!-- do other stuff -->
    </else>
</if>