如果平台是unix或windowsas
,我会打印一小段代码<if>
<equals=${arg1} value="linux-86"/>
<then>
<echo message="linux"
<then>
<elseif>
<equals=${arg1} value="linux-64"/>
<then>
<echo message="linux"/>
</then>
</elseif>
<else>
<echo message="Windows">
</else>
</if>
在这里我们可以看到我们不必要地检查相同消息的前两个条件,是否有像c ||一样的ant中的OR运算符,这样我们就可以编写arg1 = linux-64 || linux-86 .. ..如果有请告诉我如何使用这将节省大量的时间
答案 0 :(得分:2)
<condition property="WinPlatform.Check">
<or>
<equals arg1="${param1}" arg2="win-x86"/>
<equals arg1="${param1}" arg2="win-x86-client"/>
<equals arg1="${param1}" arg2="win-x64"/>
</or>
</condition>
<target name="Mytarget" if="WinPlatform.Check">
<echo message="executing windows family build:::${param1}"/>
</target>
现在使用您的参数调用Mytarget
,它将起作用
答案 1 :(得分:1)
if
任务是ant-contrib的一部分。它在核心Ant中不可用。
核心Ant中有各种conditions可用,例如,可以使目标执行成为条件。
在1.8之前,如果/除非条件评估“属性设置?”
<target name="test" if="foo" unless="bar"/>
从1.8开始,如果/除非条件可以评估“属性为真/假”:
<target name="test" if="${foo}" unless="${bar}"/>
答案 2 :(得分:-2)
为什么不看蚂蚁手册? http://ant.apache.org/manual/Tasks/conditions.html
或google for“ant if task”。