# <call>

[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, an "unless" attribute with value "${target::has-executed('`<target name>`')}" should be added to the dependent targets.

### Parameters

Attribute | Type | Description | Required
--- | --- | --- | ---
target | string | NAnt target to call. | True
cascade | bool | Cascade all the specified targets dependencies. 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

### Examples

- 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" unless="${target::has-executed('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>

### Requirements

Assembly: NAnt.Core (0.85.1932.0)