使用Nant检查目标是否存在动态?

时间:2011-09-09 02:42:54

标签: nant

根据Nant documentation,您可以使用target :: exists函数检查目标是否存在。

Execute target "clean", if it exists.

<if test="${target::exists('clean')}">
<call target="clean" />
</if>

我已经尝试将目标名称作为属性传递,但它似乎不起作用。

Nant不会抛出错误,但它也不会返回true,应该是什么时候。

基本上我要做的是:

<property name="cleanTarget" value="${someothervariables}"/>

<if test="${target::exists('${cleanTarget}')}">
<call target="${cleanTarget}" />
</if>

有可能吗?

2 个答案:

答案 0 :(得分:3)

我解决了,我的语法错了。

正确的方法是:

<property name="cleanTarget" value="${someothervariables}"/>

<if test="${target::exists(cleanTarget)}">
<call target="${cleanTarget}" />
</if>

答案 1 :(得分:0)

您可以将其简化为:

<property name="cleanTarget" value="${someothervariables}"/>

<call target="${cleanTarget}" if="${target::exists(cleanTarget)}" />