Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to split a string and use it inside a for loop in ant script?

I am having a list of machine ips in a ant property.

<property name="machines" ip="10.10.10.1;10.10.10.2;10.10.10.3"/>

I have to copy one file to all the machines(all the machines are windows machines). So I want to split this string and to use it inside a for loop. Inside that forloop i will execute the copy command.

<exec executable="cmd.exe">
<pre>
</pre>
<arg line="/C COPY /Y sample.txt \\${machine_ip}\Shared_folder\sample.txt"/>
<pre>
</pre>
</exec>

Now how to split and use it inside for loop?

like image 904
rashok Avatar asked Jun 02 '11 11:06

rashok


2 Answers

Easiest way is to use the ant-contrib features

<for list="10.10.10.1;10.10.10.2" delimiter=";" param = "val">
<sequential>
<echo message = "val = @{val}"/>
</sequential>
</for>
like image 86
rashok Avatar answered Nov 03 '22 13:11

rashok


If you can't use ant-contrib, an alternative would be to write your own custom Ant task to split the string and execute your command for each token.

Alternatively, since you are executing a Windows-specific command anyway, you could do the split/loop logic in a batch script and exec that, passing the whole properties string.

like image 24
sudocode Avatar answered Nov 03 '22 13:11

sudocode