蚂蚁的contrib - 如果/然后/别的任务 [英] ant-contrib - if/then/else task
问题描述
我使用的蚂蚁,我有一个问题,如果/然后/别的任务,(蚂蚁的contrib-1.0b3.jar)。
我正在运行的东西,可以通过下面的build.xml被简化。结果
我期待从蚁族-Dgiv =卢克的消息
获得 输入名称:卢克
应与约翰覆盖除了马克:约翰
但似乎财产连锁行业是不是里面覆盖的if / then /别的..
输入名称:卢克
应与约翰覆盖除了马克:卢克
时从我使用任务平等与 $事实根据{连锁行业}
?
否则,什么是错的,我code?
build.xml文件code:
<,项目名称=朋友默认值=ifthen以BASEDIR =><属性名=runningLocation位置=/>
<的taskdef资源=网/ SF / antcontrib / antcontrib.properties>
<&类路径GT;
< pathelement位置=$ {} runningLocation /antlib/ant-contrib-1.0b3.jar/>
< /类路径>
< /&的taskdef GT;<目标名称=ifthen以>
<回声消息=输入名称:$ {}连锁行业/>
<如果>
<等于ARG1 =$ {}连锁行业ARG2 =标记/>
<然后>
< /然后>
<否则>
<属性名=连锁行业VALUE =约翰/>
< /&其他GT;
< /若>
<回声消息=应与约翰覆盖除马克:$ {}连锁行业/>
< /目标与GT;
< /项目>
Ant属性是很难覆盖(如果不是不可能的)。你需要的是一个可变。这些都是在Ant JAR的Contrib也定义了。
编辑您的例子:
<目标名称=ifthen以>
<变量名称=福音值=$ {}连锁行业/>
<回声消息=输入名称:$ {}布道者/>
<如果>
<等于ARG1 =$ {}布道者ARG2 =标记/>
<然后>
< /然后>
<否则>
<变量名称=福音VALUE =约翰/>
< /&其他GT;
< /若>
<回声消息=应与约翰覆盖除马克:$ {}布道者/>
< /目标与GT;
I am using ant, and I have a problem with if/then/else task, (ant-contrib-1.0b3.jar).
I am running something that can be simplified with build.xml below.
I am expecting to obtain from 'ant -Dgiv=Luke' the message
input name: Luke
should be overwritten with John except for Mark: John
but it seems property "giv" is not overwritten inside if/then/else..
input name: Luke
should be overwritten with John except for Mark: Luke
Is it depending from the fact I am using equals task with ${giv}
?
Otherwise what is wrong in my code?
build.xml CODE:
<project name="Friend" default="ifthen" basedir=".">
<property name="runningLocation" location="" />
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="${runningLocation}/antlib/ant-contrib-1.0b3.jar" />
</classpath>
</taskdef>
<target name="ifthen">
<echo message="input name: ${giv}" />
<if>
<equals arg1="${giv}" arg2="Mark" />
<then>
</then>
<else>
<property name="giv" value="John" />
</else>
</if>
<echo message="should be overwritten with John except for Mark: ${giv}" />
</target>
</project>
Ant Properties are very hard to overwrite (if not impossible). What you need is a Variable. These are also defined in the Ant Contrib JAR.
Editing your example:
<target name="ifthen">
<var name="Evangelist" value="${giv}" />
<echo message="input name: ${Evangelist}" />
<if>
<equals arg1="${Evangelist}" arg2="Mark" />
<then>
</then>
<else>
<var name="Evangelist" value="John" />
</else>
</if>
<echo message="should be overwritten with John except for Mark: ${Evangelist}" />
</target>
这篇关于蚂蚁的contrib - 如果/然后/别的任务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!