NAnt
Help
Task Reference
<foreach> |
v0.85-nightly-2005-10-11 |
[This is preliminary documentation and subject to change.]
Loops over a set of items.
Can loop over files in directory, lines in a file, etc.
The property value is stored before the loop is done, and restored when the loop is finished.
The property is returned to its normal value once it is used. Read-only parameters cannot be overridden in this loop.
| Attribute | Type | Description | Required |
|---|---|---|---|
| item | LoopItem | The type of iteration that should be done. | True |
| property | string | The NAnt property name(s) that should be used for the current iterated item. | True |
| delim | string | The deliminator char. | False |
| in | string | The source of the iteration. | False |
| trim | LoopTrim | The type of whitespace trimming that should be done. The default is None. |
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 |
in attribute, but supports more complicated things like a <fileset> and such. Note: Please remove the in attribute if you are using this element.
Executes embedded tasks in the order in which they are defined.
| Attribute | Type | Description | Required |
|---|---|---|---|
| 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 |
Loops over the files in c:\.
<foreach item="File" in="c:\" property="filename">
<echo message="${filename}" />
</foreach>
Loops over all files in the project directory.
<foreach item="File" property="filename">
<in>
<items>
<include name="**" />
</items>
</in>
<do>
<echo message="${filename}" />
</do>
</foreach>
Loops over the folders in c:\.
<foreach item="Folder" in="c:\" property="foldername">
<echo message="${foldername}" />
</foreach>
Loops over all folders in the project directory.
<foreach item="Folder" property="foldername">
<in>
<items>
<include name="**" />
</items>
</in>
<do>
<echo message="${foldername}" />
</do>
</foreach>
Loops over a list.
<foreach item="String" in="1 2,3" delim=" ," property="count">
<echo message="${count}" />
</foreach>
Loops over lines in the file properties.csv, where each line is of the format name,value.
<foreach item="Line" in="properties.csv" delim="," property="x,y">
<echo message="Read pair ${x}=${y}" />
</foreach>