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

199 lines
9.1 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.LoopTask-->
<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;foreach&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;foreach&gt;</td>
<td class="NavBar-Cell" align="right">
v0.91</td>
</tr>
</table>
<h1>&lt;foreach&gt;</h1>
<p> Loops over a set of items. </p>
<p> Can loop over files in directory, lines in a file, etc. </p>
<p> The property value is stored before the loop is done, and restored when the loop is finished. </p>
<p> The property is returned to its normal value once it is used. Read-only parameters cannot be overridden in this loop. </p>
<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">item</td>
<td style="text-align: center;">
<a href="../enums/NAnt.Core.Tasks.LoopTask.LoopItem.html">LoopItem</a>
</td>
<td> The type of iteration that should be done. </td>
<td style="text-align: center;">True</td>
</tr>
<tr>
<td valign="top" class="required">property</td>
<td style="text-align: center;">string</td>
<td> The NAnt property name(s) that should be used for the current iterated item. </td>
<td style="text-align: center;">True</td>
</tr>
<tr>
<td valign="top">delim</td>
<td style="text-align: center;">string</td>
<td> The deliminator char. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">in</td>
<td style="text-align: center;">string</td>
<td> The source of the iteration. </td>
<td style="text-align: center;">False</td>
</tr>
<tr>
<td valign="top">trim</td>
<td style="text-align: center;">
<a href="../enums/NAnt.Core.Tasks.LoopTask.LoopTrim.html">LoopTrim</a>
</td>
<td> The type of whitespace trimming that should be done. The default is <code>None</code>. </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>Nested Elements:</h3>
<!--Element-->
<h4>
<a id="in">
</a>
&lt;in&gt;
</h4>
<div class="nested-element"> Stuff to operate in. Just like the <code>in</code> attribute, but supports more complicated things like a <a href="../types/fileset.html">&lt;fileset&gt;</a> and such. <p class="i2"><b>Note:</b> Please remove the <code>in</code> attribute if you are using this element. </p><p></p><h3>Nested Elements:</h3><!--Element--><h4><a id="items"></a>
&lt;<a href="../types/fileset.html">items</a>&gt;
</h4><div class="nested-element"><p /></div><h4><a id="items"></a>
&lt;/<a href="../types/fileset.html">items</a>&gt;
</h4><p /></div>
<h4>
<a id="in">
</a>
&lt;/in&gt;
</h4>
<!--Element-->
<h4>
<a id="do">
</a>
&lt;do&gt;
</h4>
<div class="nested-element"> Tasks to execute for each matching item. <p> Executes embedded tasks in the order in which they are defined. </p><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">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><p /></div>
<h4>
<a id="do">
</a>
&lt;/do&gt;
</h4>
<h3>Examples</h3>
<ul class="examples">
<li>
<p>Loops over the files in <code>c:\</code>.</p>
<pre class="code">
&lt;foreach item="File" in="c:\" property="filename"&gt;
&lt;echo message="${filename}" /&gt;
&lt;/foreach&gt;
</pre>
</li>
<li>
<p>Loops over all files in the project directory.</p>
<pre class="code">
&lt;foreach item="File" property="filename"&gt;
&lt;in&gt;
&lt;items&gt;
&lt;include name="**" /&gt;
&lt;/items&gt;
&lt;/in&gt;
&lt;do&gt;
&lt;echo message="${filename}" /&gt;
&lt;/do&gt;
&lt;/foreach&gt;
</pre>
</li>
<li>
<p>Loops over the folders in <code>c:\</code>.</p>
<pre class="code">
&lt;foreach item="Folder" in="c:\" property="foldername"&gt;
&lt;echo message="${foldername}" /&gt;
&lt;/foreach&gt;
</pre>
</li>
<li>
<p>Loops over all folders in the project directory.</p>
<pre class="code">
&lt;foreach item="Folder" property="foldername"&gt;
&lt;in&gt;
&lt;items&gt;
&lt;include name="**" /&gt;
&lt;/items&gt;
&lt;/in&gt;
&lt;do&gt;
&lt;echo message="${foldername}" /&gt;
&lt;/do&gt;
&lt;/foreach&gt;
</pre>
</li>
<li>
<p>Loops over a list.</p>
<pre class="code">
&lt;foreach item="String" in="1 2,3" delim=" ," property="count"&gt;
&lt;echo message="${count}" /&gt;
&lt;/foreach&gt;
</pre>
</li>
<li>
<p> Loops over lines in the file <code>properties.csv</code>, where each line is of the format name,value. </p>
<pre class="code">
&lt;foreach item="Line" in="properties.csv" delim="," property="x,y"&gt;
&lt;echo message="Read pair ${x}=${y}" /&gt;
&lt;/foreach&gt;
</pre>
</li>
</ul>
<h3>Requirements</h3>
<div style="margin-left: 20px;">
<b>Assembly:</b> NAnt.Core (0.91.4312.0)
</div>
</body>
</html>