所以,我在 ant 中有这个设置:
<target name="context">
<echo>docbase: ${docbase.dir}</echo>
<antcall target="_context.docbase"/>
<antcall target="_context.nodocbase"/>
</target>
<target name="_context.docbase" if="${docbase.dir}">
<echo>Context with docbase</echo>
<context.md docbase="..."/>
</target>
<target name="_context.nodocbase" unless="${docbase.dir}">
<echo>Context without docbase</echo>
<context.md/>
</target>
当docbase.dir
设置为 true 或 false 时,事情会按您的预期工作。但是当由于某种原因docbase.dir
被设置为实际值(例如, )时,它会击中目标而不是预期目标。/tmp/docbase
_context.nodocbase
_context.docbase
阅读文档意味着如果扩展属性不是“虚假”常量的“真实”之一,那么它将像以前一样解释它,但这不是我所看到的。
我究竟做错了什么?我应该使用不同的方法吗?
注意:我使用的是 Ant 1.8.2(以及从 1.8.0 开始的条件参数扩展)。