ant条件执行(ant中的if-else语句)并检查属性是否为空字符串

时间:2014-05-04 05:17:09

标签: ant

目前我在ant脚本中有这段代码:

<target name="-pre-compile" if="${log.disabled}">
   <antcall target="remove-logs"/>
</target>

它非常自我解释:如果属性文件中有log.disable=true,那么我的remove-logs目标将被调用。现在我需要对if / else做一些小改动。伪代码:

<target name="-pre-compile">
   if("${log.disabled}")
      <antcall target="remove-logs"/>
   else if("${log.disabled.level}" != "")
      <antcall target="remove-logs-levels"/>
</target>

我怎么能在蚂蚁中写出来?

另外,请注意所有这些if / they ant-contrib对我不起作用:

<target name="test-xxx">
    <echo level="info">testing</echo>
    <if>
     <equals arg1="${log.disabled}" arg2="true" />
     <then>
       <echo message="true" />
     </then>
     <else>
       <echo message="false" />
     </else>
    </if>
</target>

告诉我这个输出:

  

custom_rules.xml:73:如果不支持嵌套&#34;等于&#34;元件。

PS。再一次,我最终写了javascript而不是浪费时间与蚂蚁本身。多么糟糕的替换......

1 个答案:

答案 0 :(得分:0)

Ant提供conditionals。坦率地说使用ant-contrib更容易。它提供if task。请参阅ant-contrib - if/then/else task

中的更详细解答