Extension-Points是Ant1.8.0加入的新特性,与target类似,有一个名称和一个依赖列表,并且也能够在命令行中执行。与target不同的是,Extension-Points中没有task,它的主要目的是将有助于达到期望目标的target收集到依赖列表中。 Target可以通过extensionOf将自己添加到extension-points的依赖列表中。target将自己添加到extension-points的depends属性配置的target之后 ,如果有多个target将自己加入到extension-points,它们之间是无序的。
Extension-point的主要用来作为导入的构建文件的扩展点。在导入的文件中extension-point定义了必须要达到的状态,其他构建文件的target可以加入到extension-point的依赖列表中,以便达到期望的状态。
假设导入一个编译代码的构建文件,例如:
<target name="create-directory-layout">
...
</target>
<extension-point name="ready-to-compile"
depends="create-directory-layout"/>
<target name="compile" depends="ready-to-compile">
...
</target>
调用顺序为create-directory-layout -> 'empty slot' -> compile
<target name="generate-sources"
extensionOf="ready-to-compile">
...
</target>
此时调用顺序为create-directory-layout -> generate-sources-> compile