1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199
|
<!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><foreach> 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="->" src="../images/arrow.gif" />
<a href="../index.html">Help</a>
<img alt="->" src="../images/arrow.gif" />
<a href="../tasks/index.html">Task Reference</a>
<img alt="->" src="../images/arrow.gif" /> <foreach></td>
<td class="NavBar-Cell" align="right">
v0.85</td>
</tr>
</table>
<h1><foreach></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>
<in>
</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"><fileset></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>
<<a href="../types/fileset.html">items</a>>
</h4><div class="nested-element"><p /></div><h4><a id="items"></a>
</<a href="../types/fileset.html">items</a>>
</h4><p /></div>
<h4>
<a id="in">
</a>
</in>
</h4>
<!--Element-->
<h4>
<a id="do">
</a>
<do>
</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>
</do>
</h4>
<h3>Examples</h3>
<ul class="examples">
<li>
<p>Loops over the files in <code>c:\</code>.</p>
<pre class="code">
<foreach item="File" in="c:\" property="filename">
<echo message="${filename}" />
</foreach>
</pre>
</li>
<li>
<p>Loops over all files in the project directory.</p>
<pre class="code">
<foreach item="File" property="filename">
<in>
<items>
<include name="**" />
</items>
</in>
<do>
<echo message="${filename}" />
</do>
</foreach>
</pre>
</li>
<li>
<p>Loops over the folders in <code>c:\</code>.</p>
<pre class="code">
<foreach item="Folder" in="c:\" property="foldername">
<echo message="${foldername}" />
</foreach>
</pre>
</li>
<li>
<p>Loops over all folders in the project directory.</p>
<pre class="code">
<foreach item="Folder" property="foldername">
<in>
<items>
<include name="**" />
</items>
</in>
<do>
<echo message="${foldername}" />
</do>
</foreach>
</pre>
</li>
<li>
<p>Loops over a list.</p>
<pre class="code">
<foreach item="String" in="1 2,3" delim=" ," property="count">
<echo message="${count}" />
</foreach>
</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">
<foreach item="Line" in="properties.csv" delim="," property="x,y">
<echo message="Read pair ${x}=${y}" />
</foreach>
</pre>
</li>
</ul>
<h3>Requirements</h3>
<div style="margin-left: 20px;">
<b>Assembly:</b> NAnt.Core (0.85.2478.0)
</div>
</body>
</html>
|