蚂蚁 - 条件陈述

时间:2010-12-22 13:31:02

标签: ant build-process build-automation

我正在使用ant来构建我的应用程序,我希望为应用程序的dev / qa / prod版本提供单个进程。我想能够从命令行指定构建目标:

ant -Dbuildtarget=dev|qa|prod

并在build.xml中检查 buildtarget 的值,并根据用户指定的 buildtarget 设置特定于应用程序的基本URL属性。我随后将使用

设置正确的运行时参数
    <copy file="pre.app.properties" tofile="./app.properties" overwrite="true">
        <filterset>
            <filter token="BASE_URL" value="${baseurl}" />
        </filterset>
    </copy>

我坚持的是如何在build.xml和build.xml中表达它?

if buildtarget=='dev' 
    baseurl="http://my_dev_url"
else if buildtarget=='qa' 
    baseurl="http://my_qa_url"
else if buildtarget=='prod' 
    baseurl="http://my_prod_url"
我已经四处寻找了,但这似乎很难在蚂蚁中完成。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

使用ant -Dbuildtarget = dev | qa | prod启动ant脚本时,它就像=

一样简单
<project >
  <property name="baseurl" value="http://my_${buildtarget}_url"/>
  <echo>$${baseurl} => ${baseurl}</echo>
</project>

buildtarget属性可以用作baseurl属性的动态部分。
之后$ {buildurl}可以用于进一步处理..

答案 1 :(得分:1)

也许您应该尝试使用ant的condition任务?