蚂蚁的contrib - 如果/然后/别的任务 [英] ant-contrib - if/then/else task

查看:124
本文介绍了蚂蚁的contrib - 如果/然后/别的任务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的蚂蚁,我有一个问题,如果/然后/别的任务,(蚂蚁的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆