How can I use an Ant foreach iteration with values from a file?

Egon Willighagen picture Egon Willighagen · May 3, 2010 · Viewed 10.6k times · Source

In our Ant build environment, I have to do the same task for a number of items. The AntContrib foreach task is useful for that. However, the list is in a parameter, where I actually have the list in a file. How can I iterate over items in a file in an foreach-like way in Ant? Something like (pseudo-code):

<foreach target="compile-module" listFromFile="$fileWithModules"/>

I'm happy to write a custom Task, and welcome any suggestion on possible solutions.

Answer

Peter Lang picture Peter Lang · May 3, 2010

I tried to load the file into a property and iterate over it, worked fine for me:

<loadfile property="file-content" srcFile="${fileWithModules}"/>

<foreach
    target="compile-module"
    list="${file-content}"
    delimiter="${line.separator}"
    param="your-param-used-in-target"/>