一、概述
bindtargets是Ant的内置任务,可以将一些target作为某些扩展点的扩展,会生成扩展点的target依赖列表。
当你想要将一个targt参与到另一个明确暴露了这种扩展点的构建工作流时,bindtargets是非常有用的。有时但是绑定的target和绑定的扩展点都是在一些导入的构建文件中,如果直接在引入的文件中直接修改这些target的依赖可能会产生一些不好的影响。bindtargets可以在你的上下文中修改target的依赖关系。
二、属性
targets:逗号分隔的要绑定的target名称。
extensionPoint:target要绑定的扩展点的名称。
onMissingExtensionPoint:如果找不到扩展点如果处理(“fail”、“warn”、“ignore”),默认为fail。
三、简单示例
<project default="t1">
<target name="init">
<echo>here is init</echo>
</target>
<extension-point name="exp" depends="init"/>
<target name="t1" depends="exp">
<echo>here is t1 depends exp</echo>
</target>
<target name="t2">
<echo>here is t2 bind to exp</echo>
</target>
<target name="t3">
<echo>here is t3 bind to exp</echo>
</target>
<bindtargets targets="t2,t3" extensionPoint="exp" />
</project>
<bindtargets targets="t2,t3" extensionPoint="exp" />与<target name="bind-to-exp" depends="t2,t3" extensionOf="exp" />的效果是一样。