Since Apache Ant 1.8.2
Make some target the extension of some defined extension point. It will make the list of targets dependencies of the extension point.
This target is useful when you want to have a target to participate in another build workflow which explicitly exposes an extension point for that kind of insertion. Thus the target to bind and the extension point to bind to are both declared in some imported build files. But directly modifying the target dependency graph of these external build files may have a side effect on some other project which imports them. This task helps to modify the target dependencies but only in your context.
Note: this task is quite equivalent to the definition of an intermediate target which will be the bridge between the target to bind and the extension point. For instance:
<bindtargets targets="jar,javadoc" extensionPoint="dist"/>
is quite equivalent to:
<target name="bind-to-dist" depends="jar,javadoc" extensionOf="dist"/>
This task basically avoids the creation of a target.
The bindtargets
task may only be used as a top-level task. This means that it may
not be used in a target. This is making the target dependency graph static and predictable as soon
as every build file is loaded.
Attribute | Description | Required |
---|---|---|
targets | a comma separated list of target names to bind. | Yes |
extensionPoint | the name of the extension point to bind the targets to. | Yes |
onMissingExtensionPoint | What to do if this target tries to extend a
missing extension-point: fail, warn, ignore. |
No; defaults to fail |
<bindtargets targets="build-jar,build-src-jar" extensionPoint="dist"/>