【发布时间】:2012-01-18 15:15:55
【问题描述】:
我希望能够将一个可选参数传递给一个 ant 任务调用,这样如果它被省略(在条件或使用 unless 或 if 属性时很重要),它就会在被调用目标中显示为未设置)。我不知道是否设置了 optArg,所以我无法对参数进行硬编码。
示例:ant 目标 someTarget 需要强制参数 mandatoryArg 并支持可选参数 optArg。
我可以通过像这样的笨拙复制来实现这一点:
<if><equals arg1="${optArg}" arg2="true" />
<then>
<ant dir="someDir" target="someTarget" inheritAll="false">
<property name="mandatoryArg" value="42" />
<property name="optArg" value="true" />
</ant>
</then>
<else>
<ant dir="someDir" target="someTarget" inheritAll="false">
<property name="mandatoryArg" value="42" />
</ant>
</else>
</if>
我想省略 if 语句,这样 ant 调用就不会重复,而不会失去 optArg 的可选特性。我已经找到this question,它似乎涵盖了另一个问题。
我使用 Ant 1.7 和 ant-contrib。
有什么想法吗?谢谢!
编辑:我也接受解释为什么它真的不可能的答案。
【问题讨论】:
标签: ant ant-contrib