Krzysztof Wolny
Krzysztof Wolny

Reputation: 11086

Multiple ANT properties (from file) into the one property

I use task to run a target for all values from the list, taken from one property.

<foreach list="val1,val2" delimiter="," target="my.target" param="param_name"/>

Now, I want to put those values to the separate properties file as there is a lot of them.

So the question is: how can I read multiple (don't know how many) properties (lines in file in fact) from the file into one property?

The property file should look like this:

val1
val2
anothervalue
foobar

And the output should be:

"val1,val2,anothervalue,foobar"

be put in one property.

Upvotes: 0

Views: 895

Answers (1)

Ivan Nevostruev
Ivan Nevostruev

Reputation: 28713

You can achieve this using LineTokenizer filter with loadfile. For example:

<target name="t">
    <loadfile property="data_range" srcFile="ls.txt">
        <filterchain> <!-- this filter outputs lines delimited by "," -->
            <tokenfilter delimoutput=","/>
        </filterchain>
    </loadfile>
    <foreach list="${data_range}" param="line" delimiter="," target="print" />
</target>

<target name="print">
    <echo>line [${line}]</echo> <!-- you can do anything here -->
</target>

Upvotes: 2

Related Questions