NAnt
Help
Task Reference
<call> |
v0.85-nightly-2005-11-09 |
[This is preliminary documentation and subject to change.]
Calls a NAnt target in the current project.
When the <call> task is used to execute a target, both that target and all its dependent targets will be re-executed.
To avoid dependent targets from being executed more than once, two options are available:
<target name>')}" to the dependent targets. cascade attribute on the <call> task to false (recommended). | Attribute | Type | Description | Required |
|---|---|---|---|
| target | string | NAnt target to call. | True |
| cascade | bool | Execute the specified targets dependencies -- even if they have been previously executed. The default is true. | False |
| force | bool | Deprecated. Force an execute even if the target has already been executed. The default is false. | False |
| failonerror | bool | Determines if task failure stops the build, or is just reported. The default is true. | False |
| if | bool | If true then the task will be executed; otherwise, skipped. The default is true. | False |
| unless | bool | Opposite of if. If false then the task will be executed; otherwise, skipped. The default is false. |
False |
| verbose | bool | Determines whether the task should report detailed build log messages. The default is false. | False |
Call the target "build".
<call target="build" />
This shows how a project could 'compile' a debug and release build using a common compile target.
<project default="build">
<property name="debug" value="false" />
<target name="init">
<echo message="initializing" />
</target>
<target name="compile" depends="init">
<echo message="compiling with debug = ${debug}" />
</target>
<target name="build">
<property name="debug" value="false" />
<call target="compile" />
<property name="debug" value="true" />
<call target="compile" />
</target>
</project>
The cascade parameter of the <call> task defaults to true, causing the "init" target to be executed for both the "debug" and "release" build.
This results in the following build log:
build:
init:
[echo] initializing
compile:
[echo] compiling with debug = false
init:
[echo] initializing
compile:
[echo] compiling with debug = true
BUILD SUCCEEDED
If the "init" should only be executed once, set the cascade attribute of the <call> task to false.
The build log would then look like this:
build:
init:
[echo] initializing
compile:
[echo] compiling with debug = false
compile:
[echo] compiling with debug = true
BUILD SUCCEEDED