| NAnt  Help  Task Reference  <call> | v0.92-rc1 | 
[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