Муравей - условное утверждение - PullRequest
1 голос
/ 22 декабря 2010

Я использую ant для сборки своего приложения и хочу иметь единый процесс для версий приложения dev / qa / prod. Я хочу иметь возможность указать цель сборки из командной строки:

ant -Dbuildtarget=dev|qa|prod

и в build.xml проверьте значение buildtarget и задайте базовое свойство URL-адреса приложения, основываясь на buildtarget , указанном пользователем. Впоследствии я установлю правильный параметр времени выполнения, используя

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

Я искал вокруг, но это кажется трудным для муравья. Есть идеи?

Ответы [ 2 ]

2 голосов
/ 13 марта 2011

При запуске вашего ant-скрипта с помощью ant -Dbuildtarget = dev | qa | prod это так же просто, как =

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

Свойство buildtarget может использоваться как динамическая часть свойства baseurl.
Впоследствии $ {buildurl} можно использовать для дальнейшей обработки ..

1 голос
/ 22 декабря 2010

Возможно, вам стоит попробовать выполнить условие муравья условие ?

...