如何比较ANT脚本中的字符串

时间:2014-01-30 20:10:51

标签: ios xcode ant

我正在编写一个ANT脚本来构建我的iOS应用程序。我希望用户输入应为其创建ipa文件的环境名称。例如开发或生产或QA或UAT。我有以下代码片段来接受用户输入并将其存储在名为environment的属性中:

<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

我怎样才能做到这一点?有人可以帮帮我......谢谢..

1 个答案:

答案 0 :(得分:3)

我强烈建议你放弃接受用户输入的计划。构建不应该接受用户输入,如果你想自动化它会发生什么?我假设所有构建都没有交互输入。

您最好的计划是始终指定您想要的目标。

ant QA

下一个最好的方法是在命令行上指定environment属性

ant -Denv="dev"

如果在蚂蚁中没有。你可能被引诱到ant-contrib,这不是道路。如果你发现自己需要它,可能你会更适合使用不同的构建工具或编写自己的ant任务。

如果您想要实施您描述的方案,可以设置条件来设置属性,然后更改目标以使用if属性有条件地运行它们,如下所示:

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

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

if属性在设置属性后执行目标。