| <!DOCTYPE html> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| https://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <html lang="en"> |
| |
| <head> |
| <link rel="stylesheet" type="text/css" href="../stylesheets/style.css"> |
| <title>Bindtargets Task</title> |
| </head> |
| |
| <body> |
| |
| <h2 id="ant">Bindtargets</h2> |
| <p><em>Since Apache Ant 1.8.2</em></p> |
| <h3>Description</h3> |
| |
| <p>Make some target the extension of some |
| defined <a href="../targets.html#extension-points">extension point</a>. It will make the list of |
| targets dependencies of the extension point.</p> |
| |
| <p>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.</p> |
| |
| <p><strong>Note</strong>: 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:</p> |
| <pre><bindtargets targets="jar,javadoc" extensionPoint="dist"/></pre> |
| <p>is quite equivalent to:</p> |
| <pre><target name="bind-to-dist" depends="jar,javadoc" extensionOf="dist"/></pre> |
| <p>This task basically avoids the creation of a target.</p> |
| |
| <p>The <code>bindtargets</code> 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.</p> |
| |
| <h3>Parameters</h3> |
| <table class="attr"> |
| <tr> |
| <th scope="col">Attribute</th> |
| <th scope="col">Description</th> |
| <th scope="col">Required</th> |
| </tr> |
| <tr> |
| <td>targets</td> |
| <td>a comma separated list of target names to bind.</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>extensionPoint</td> |
| <td>the name of the extension point to bind the targets to.</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>onMissingExtensionPoint</td> |
| <td>What to do if this target tries to extend a |
| missing <a href="../targets.html#extension-points">extension-point</a>: <q>fail</q>, <q>warn</q>, <q>ignore</q>.</td> |
| <td>No; defaults to <q>fail</q></td> |
| </tr> |
| </table> |
| |
| <h3>Examples</h3> |
| <pre><bindtargets targets="build-jar,build-src-jar" extensionPoint="dist"/></pre> |
| |
| </body> |
| </html> |