【问题标题】:Ant - conditional statementAnt - 条件语句
【发布时间】:2011-05-29 10:06:42
【问题描述】:

我正在使用 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 中表达这一点?

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"

我已经四处搜索,但这似乎很难在 ant 中完成。有什么想法吗?

【问题讨论】:

    标签: ant build-process build-automation


    【解决方案1】:

    使用 ant -Dbuildtarget=dev|qa|prod 启动您的 ant 脚本时,它就像 = 一样简单

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

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

    【讨论】:

      【解决方案2】:

      或许你应该尝试使用ant的condition任务?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-06-25
        • 2013-03-09
        • 2012-07-16
        • 2011-10-29
        • 2012-02-01
        • 2020-01-18
        • 2020-02-18
        相关资源
        最近更新 更多