2014-01-30 32 views
0

我正在編寫一個ANT腳本來構建我的iOS應用程序。我希望用戶輸入應爲其創建ipa文件的環境名稱。例如開發或生產或QA或UAT。我有下面的代碼片段,以接受用戶輸入並存儲在一個名爲環境屬性:用戶輸入環境名稱如何比較ANT腳本中的字符串

<input 
message="Enter targeted environment (dev or QA1 or QA2 or UAT1 or UAT2 or staging or perf or prod)" 
addproperty="environment" 
/> 

以後,我要檢查用戶輸入的內容。然後,我必須根據用戶輸入調用不同的目標。例如:

if (environment== "development") 
    // call dev target 
else if (environment== "production") 
// call prod target 
else if (environment== "QA") 
// call QA target 
else if (environment== "UAT") 
// call UAT target 

我該如何做到這一點?有人可以幫助我...謝謝..

回答

3

我強烈建議你放棄你的用戶輸入計劃。構建不應該接受用戶輸入,如果要將其自動化會發生什麼?我假設所有版本都不採用交互式輸入。

你最好的計劃是總是指定你想要的目標。

ant QA

下一個最好的是指定的環境屬性在命令行

ant -Denv="dev"

在螞蟻沒有如果。你可能被引誘進入蟻穴,這不是路徑。如果你發現自己需要它,可能你會更適合使用不同的構建工具或編寫自己的ant任務。

如果你想實現這個計劃,你描述的,你可以設置條件來設置屬性,然後改變你的目標,有條件地與if屬性像這樣運行它們:

<condition property="env.is.dev"> 
    <equals arg1="${env}" arg2="dev"/> 
</condition> 

<target name="dev" if="${env.is.dev}"> 

如果屬性執行目標,如果該物業已設置。

+0

非常感謝...最好我會按照「螞蟻QA」一個.. –