Glatzemann 39dc83d33e added NAnt 0.91 build system to the lib folder
added build folder
added build script for release build of ANX.Framework and all RenderSystems
fixed some issues in projects regarding compiler directives
removed StockShaderCodeGenerator from Pre-Build-Events. Build the Stock shaders using NAnt target build_stock_shaders.
started Wiki documentation for custom build switches (e.g. extended mode)
2011-11-18 11:04:26 +00:00

160 lines
6.2 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- Documenting T:NAnt.Core.Tasks.CallTask-->
<head>
<meta http-equiv="Content-Language" content="en-ca" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="../style.css" />
<title>&lt;call&gt; Task</title>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
<tr>
<td class="NavBar-Cell">
<a href="http://nant.sourceforge.net">
<b>NAnt</b>
</a>
<img alt="-&gt;" src="../images/arrow.gif" />
<a href="../index.html">Help</a>
<img alt="-&gt;" src="../images/arrow.gif" />
<a href="../tasks/index.html">Task Reference</a>
<img alt="-&gt;" src="../images/arrow.gif" /> &lt;call&gt;</td>
<td class="NavBar-Cell" align="right">
v0.91</td>
</tr>
</table>
<h1>&lt;call&gt;</h1>
<p> Calls a NAnt target in the current project. </p>
<p> When the <a href="../tasks/call.html">&lt;call&gt;</a> task is used to execute a target, both that target and all its dependent targets will be re-executed. </p>
<p> To avoid dependent targets from being executed more than once, two options are available: </p>
<ul style="list-style-type: disc;">
<li> Add an "unless" attribute with value "${<a href="../functions/target.has-executed.html">target::has-executed</a>('<code>&lt;target name&gt;</code>')}" to the dependent targets. </li>
<li> Set the <code>cascade</code> attribute on the <a href="../tasks/call.html">&lt;call&gt;</a> task to <b>false</b> (<code>recommended</code>). </li>
</ul>
<h3>Parameters</h3>
<div class="table">
<table>
<tr>
<th>Attribute</th>
<th style="text-align: center;">Type</th>
<th>Description</th>
<th style="text-align: center;">Required</th>
</tr>
<tr>
<td valign="top" class="required">target</td>
<td style="text-align: center;">string</td>
<td> NAnt target to call. </td>
<td style="text-align: center;">True</td>
</tr>
<tr>
<td valign="top">cascade</td>
<td style="text-align: center;">bool</td>
<td> Execute the specified targets dependencies -- even if they have been previously executed. The default is <b>true</b>. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">force</td>
<td style="text-align: center;">bool</td>
<td>
<i>Deprecated.</i> Force an execute even if the target has already been executed. The default is <b>false</b>. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">failonerror</td>
<td style="text-align: center;">bool</td>
<td> Determines if task failure stops the build, or is just reported. The default is <b>true</b>. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">if</td>
<td style="text-align: center;">bool</td>
<td> If <b>true</b> then the task will be executed; otherwise, skipped. The default is <b>true</b>. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">unless</td>
<td style="text-align: center;">bool</td>
<td> Opposite of <code>if</code>. If <b>false</b> then the task will be executed; otherwise, skipped. The default is <b>false</b>. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">verbose</td>
<td style="text-align: center;">bool</td>
<td> Determines whether the task should report detailed build log messages. The default is <b>false</b>. </td>
<td style="text-align: center;">False</td>
</tr>
</table>
</div>
<h3>Examples</h3>
<ul class="examples">
<li>
<p> Call the target "build". </p>
<pre class="code">
&lt;call target="build" /&gt;
</pre>
</li>
<li>
<p> This shows how a project could 'compile' a debug and release build using a common compile target. </p>
<pre class="code">
&lt;project default="build"&gt;
&lt;property name="debug" value="false" /&gt;
&lt;target name="init"&gt;
&lt;echo message="initializing" /&gt;
&lt;/target&gt;
&lt;target name="compile" depends="init"&gt;
&lt;echo message="compiling with debug = ${debug}" /&gt;
&lt;/target&gt;
&lt;target name="build"&gt;
&lt;property name="debug" value="false" /&gt;
&lt;call target="compile" /&gt;
&lt;property name="debug" value="true" /&gt;
&lt;call target="compile" /&gt;
&lt;/target&gt;
&lt;/project&gt;
</pre>
<p> The <code>cascade</code> parameter of the <a href="../tasks/call.html">&lt;call&gt;</a> task defaults to <b>true</b>, causing the "init" target to be executed for both the "debug" and "release" build. </p>
<p> This results in the following build log: </p>
<pre class="code">build:
init:
[echo] initializing
compile:
[echo] compiling with debug = false
init:
[echo] initializing
compile:
[echo] compiling with debug = true
BUILD SUCCEEDED
</pre>
<p> If the "init" should only be executed once, set the <code>cascade</code> attribute of the <a href="../tasks/call.html">&lt;call&gt;</a> task to <b>false</b>. </p>
<p> The build log would then look like this: </p>
<pre class="code">build:
init:
[echo] initializing
compile:
[echo] compiling with debug = false
compile:
[echo] compiling with debug = true
BUILD SUCCEEDED
</pre>
</li>
</ul>
<h3>Requirements</h3>
<div style="margin-left: 20px;">
<b>Assembly:</b> NAnt.Core (0.91.4312.0)
</div>
</body>
</html>