B.27 ForeachTask

The foreach task iterates over a list, a list of filesets, or both. If both, list and filesets, are specified, the list will be evaluated first. Nested filesets are evaluated in the order they appear in the task.

Table B.30: Attributes

NameTypeDescriptionDefaultRequired
inheritallBooleanIf true, pass all properties to the called target.falseNo
inheritrefsBooleanIf true, pass all references to the the called target.falseNo
trimBooleanIf true, any leading or trailing whitespace will be removed from the list item before it is passed to the requested target.falseNo
listStringThe list of values to process, with the delimiter character, indicated by the "delimiter" attribute, separating each value.n/aNo
targetStringThe target to call for each token, passing the token as the parameter with the name indicated by the "param" attribute.n/aYes
paramStringThe name of the parameter to pass the tokens in as to the target.n/aYes
absparamStringThe name of the absolute pathparameter to pass the tokens in as to the target (used while processing nested filesets).n/aNo
delimiterStringThe delimiter string that separates the values in the "list" parameter. The default is ",".,No
indexStringThe name of the property containing the iteration count.indexNo

B.27.1 Examples

<!-- loop through languages, and call buildlang task with setted param -->
<property name="languages" value="en,fr,de" />
<foreach list="${languages}" param="lang" target="buildlang" />

<!-- loop through files, and call subtask task with set param and absparam -->
<foreach param="filename" absparam="absfilename" target="subtask">
  <fileset dir=".">
    <include name="*.php"/>
  </fileset>
</foreach>

B.27.2 Supported Nested Tags