任务调用的可选参数<ant>?



我希望能够将一个可选参数传递给ant任务调用,这样,如果省略它,它就会显示为未设置给被调用的目标(在条件或使用unlessif属性时很重要)。我不知道是否设置了optArg,所以我无法对参数进行硬编码。

示例:ant targetsomeTarget需要一个强制参数commandoryArg,并支持一个可选参数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的可选性质。我已经找到了这个问题,它似乎涵盖了另一个问题。

我使用蚂蚁1.7和蚂蚁contrib。

有什么想法吗?谢谢

编辑:我也接受解释为什么这真的不可能的答案。

您可以通过使用<if>块来构建属性集,然后在稍后使用<propertyset refid="whatever"/> 的单个<ant>任务调用中引用它来获得所需的行为

相关内容

  • 没有找到相关文章