我正在尝试在Ant中打印一些消息,具体取决于以下条件:
<if>
<equals arg1="${docs.present}" arg2="true"/>
<then>
</then>
<else>
<echo message="No docss found!"/>
</else>
</if>
但是如您所见,如果docs.present属性设置为'true',那么我只想执行其他部分。如果是部分,则无需执行任何操作。我怎样才能做到这一点?
答案 0 :(得分:1)
您可以在echo
条件中使用if
,而不是如下:
<if>
<equals arg1="${docs.present}" arg2="false"/>
<then>
<echo message="No docss found!"/>
</then>
</if>
答案 1 :(得分:0)
下面是写蚂蚁的典型例子,如果是其他条件,那么
<if>
<equals arg1="${condition}" arg2="true"/>
<then>
<copy file="${some.dir}/file" todir="${another.dir}"/>
</then>
<elseif>
<equals arg1="${condition}" arg2="false"/>
<then>
<copy file="${some.dir}/differentFile" todir="${another.dir}"/>
</then>
</elseif>
<else>
<echo message="Condition was neither true nor false"/>
</else>
</if>
在您的情况下,您可以在then
标记内执行任务,如果您没有在那里执行任务,请删除else
标记。
<if>
<equals arg1="${docs.present}" arg2="false"/>
<then>
<echo message="No docss found!"/>
</then>
</if>
答案 2 :(得分:0)
本机Ant解决方案是使用条件任务执行:
<project name="demo" default="run">
<available file="mydoc.txt" property="doc.present"/>
<target name="run" unless="doc.present">
<echo message="No docs found"/>
</target>
</project>
“if”任务不是标准Ant的一部分。