Ant - 条件语句

发布于 2024-10-08 16:07:58 字数 773 浏览 6 评论 0原文

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

ant -Dbuildtarget=dev|qa|prod

并在 build.xml 中检查 buildtarget 的值,并根据 buildtarget 设置应用程序特定的基本 URL 属性em> 由用户指定。随后我将使用设置正确的运行时参数

    <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"

我四处寻找,但这在蚂蚁看来很难做到。有什么想法吗?

I'm using ant to build my app, and I want to have single process for dev/qa/prod versions of the app. I want to do be able to specify the build target from command line:

ant -Dbuildtarget=dev|qa|prod

and in build.xml check for the value of buildtarget and set an application specific base URL property based on the buildtarget specified by the user. I will subsequently set the correct runtime param using

    <copy file="pre.app.properties" tofile="./app.properties" overwrite="true">
        <filterset>
            <filter token="BASE_URL" value="${baseurl}" />
        </filterset>
    </copy>

What I am stuck on is how to express this in and 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"

I've searched around, but this seems to be difficult to do in ant. Any ideas ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

翻了热茶 2024-10-15 16:07:58

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

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

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

When starting your ant script with ant -Dbuildtarget=dev|qa|prod it's as simple as =

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

The buildtarget property can be used as dynamic part of the baseurl property.
Afterwards ${buildurl} can be used for further processing..

为人所爱 2024-10-15 16:07:58

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

Perhaps you should try using the condition task of ant?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文