用ant检查引用

Ken*_*Ken 5 ant

有没有办法检查蚂蚁是否在某处定义了具有特定refid的引用?

例如,我需要在使用之前检查my.ref是否已定义,如下所示.

<pathconvert property="my.prop" refid="my.ref">
...
</pathconvert>
Run Code Online (Sandbox Code Playgroud)

我需要这样做,因为在我的项目中有一些不受我控制的构建脚本(实际上,我不允许有时检查它们的内容).

这些脚本应该定义此引用.不幸的是,由于某些原因,我不能指望这个引用是定义的.

所以,我需要检查它并执行优雅的错误处理或一些特定的操作.

有什么办法吗?

更新:

我找到了自己做的正确方法.它可以通过使用任务的isreference元素来condition完成.

例如:

<condition property="my.ref.defined">
    <isreference refid="my.ref"/>
</condition>
<fail unless="my.ref.defined" message="Reference my.ref not defined."/>
Run Code Online (Sandbox Code Playgroud)

mar*_*ton 3

您可以根据引用的值设置属性,然后测试该属性。例如:

<property name="my.prop" value="${toString:my.ref}" />
Run Code Online (Sandbox Code Playgroud)