Bindtargets

Since Apache Ant 1.8.2

Description

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.

Parameters

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

Examples

<bindtargets targets="build-jar,build-src-jar" extensionPoint="dist"/>