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



目前我在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>

我怎么用ant写呢?

另外,请注意所有这些if/them -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: if不支持嵌套的"equals"元素。

p。再一次,我结束了编写javascript而不是浪费时间在ant本身。真是个蹩脚的替代品…

Ant提供条件。坦率地说,使用ant-contrib更容易。它提供一个if任务。查看ant-contrib - if/then/else task

中更详细的答案

相关内容

  • 没有找到相关文章

最新更新