Search code examples
antforeachbuild.xmlant-contrib

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


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.


Solution

  • 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"/>