我希望能够将一个可选参数传递给一个 ant 任务调用,这样如果它被省略(在条件或使用unless
orif
属性时很重要),它就会显示为未设置到被调用的目标。我不知道是否设置了 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的可选特性。我已经找到了这个问题,它似乎涵盖了一个不同的问题。
我使用 Ant 1.7 和 ant-contrib。
有任何想法吗?谢谢!
编辑:我也接受解释为什么它真的不可能的答案。