如果条件,Nant嵌套

时间:2013-06-24 20:53:45

标签: nant

我正在尝试在满足某些条件时执行某些操作,但似乎某处我的语法错误。我需要有三个if条件才能完成一件事,但我不确定如何输入if个陈述之一。

 <if test="${build.MoniXXXtor == 'true'} or test="${build.XXX== 'true'}" or   test="${build.yyy== 'true'}"> 
   <property name="solutionFile" value="${svn.Lib.path}"/>
   <property name="LocalPath" value="${Local.Lib.path}"/>
   <call target="getLatest" if="${source.getLatest == 'true'}"/>  
</if>

上面OR条件的语法似乎是错误的。

2 个答案:

答案 0 :(得分:0)

根据the documentation,你应该只使用一个等号(=而不是==),例如:

<if test="${build.configuration='release'}">
    <echo>Build release configuration</echo>
</if>

答案 1 :(得分:0)

假设build.MoniXXXtor,build.XXX和build.yyy是布尔属性,代码就是:

<if test="${build.MoniXXXtor or build.XXX or build.yyy}">

如果它们是字符串属性,则需要将它们转换为布尔值:

<if test="${convert::to-boolean(build.MoniXXXtor) or 
            convert::to-boolean(build.XXX) or 
            convert::to-boolean(build.yyy)}">