Ant:如何根据用户的输入为属性设置不同的值

时间:2014-02-10 14:01:04

标签: ant

我正在使用以下输入任务获取用户输入:

<input message="Select the provisioning profile to be used for packaging i.e. old or new" addproperty="provProfileSelected" validargs="o,n" defaultvalue="o" />

然后,我想根据用户的输入为一个属性设置不同的值。我能够得到用户的输入。但是如何有条件地将值设置为属性?

我不想在构建脚本中使用Antt-Contrib。

1 个答案:

答案 0 :(得分:2)

这可能适合您。您将输入保存到一个属性,然后有条件地根据响应设置其他属性。你耗尽了2个额外的属性,但不应该是一个问题。新旧目标将根据新物业的存在而有条件地执行。

希望这有帮助!

<project name="testing" basedir="." default="all">

<target name="all" depends="input, old, new"/>

<target name="input">
    <input message="Select the provisioning profile to be used for packaging i.e. old or new"  addproperty="provProfileSelected" validargs="o,n" defaultvalue="o" />
    <echo>${provProfileSelected}</echo>
    <condition property="newSelected">
        <equals arg1="n" arg2="${provProfileSelected}"/>
    </condition>
    <condition property="oldSelected">
        <equals arg1="o" arg2="${provProfileSelected}"/>
    </condition>
</target>

<target name="new" if="newSelected">
    <echo>New provisioning selected</echo>
</target>

<target name="old" if="oldSelected">
    <echo>Old provisioning selected</echo>
</target>

</project>