I wrote something like this a while back using ant contrib and math...
Here ya go:
<macrodef
name = "for"
description = "This implements a for loop with starting and
ending values for the loop.">
<attribute name = "property" description = "The name of the
property that will contain the current value of the loop."/>
<attribute name = "start" default = "1" description = "The
start value of the loop."/>
<attribute name = "end" description = "The end value of the
loop"/>
<attribute name = "inc" default = "1" description = "The
value to increment (or decrement) when looping."/>
<element name = "loop" implicit = "true" description = "The
enclosing block - just like ant contrib's for/sequential."/>
<sequential>
<var name = "@{property}" value = "@{start}"/>
<if>
<not>
<equals arg1 = "[EMAIL PROTECTED]" arg2 = "@{end}"/>
</not>
<then>
<loop/>
<math result = "@{property}" datatype = "int"
operation = "+" operand1 = "[EMAIL PROTECTED]" operand2 = "@{inc}"/>
<for property = "@{property}" start =
"[EMAIL PROTECTED]" end = "@{end}" inc = "@{inc}">
<loop/>
</for>
</then>
</if>
</sequential>
</macrodef>
This shows how to use it:
<for property = "TEST_FOR" start = "0" end = "5">
....
</for>
The above would loop starting at 0 and ending at 5...each iteration
being stored in the property named "TEST_FOR"
Hope that helps...
Scot
Its recursive and fails out after 400+ iterations. But for most uses it
should be sufficient...
There is also another project out there that has this
functionality...jwaretechniques but I dont have the URL readily handy
right now...
Scot
Daniel Smith wrote:
I'm interested in writing a script that repeats some task a
user-specified number of times. This is useful where the behavior of
JUnit tests is randomized (explicitly or, in this case, due to
concurrency irregularities), and a test sample of size larger than 1
is needed.
The best solution we've been able to come up with is the "for" task
from ant-contrib. Unfortunately, "for" iterates over lists (or
tokenized strings), not numbers. So we can do something like this:
> ant -Drepeat="1,2,3" sometarget
<target name="sometarget">
<for list="${repeat}>
(do something)
</for>
</target>
Clearly, this isn't ideal. I might explore doing something with the
"math" task in ant-contrib. What other recommendations do you have?
—Dan
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Scot P. Floess
27 Lake Royale
Louisburg, NC 27549
252-478-8087 (Home)
919-754-4592 (Work)
Chief Architect JPlate http://sourceforge.net/projects/jplate
Chief Architect JavaPIM http://sourceforge.net/projects/javapim
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]