Trace
Trace

Reputation: 18869

Ant set list dynamically based on list size property

I have the following Ant script:

<target name="make-ears">
    <for list="1,2,3,4" param="clone-nr">
        <sequential>
            <!-- Do stuff -->
        </sequential>
    </for>
</target>

What I prefer is to set the size dynamically using:

<property name="nr_clones" value="4" />

And having something like:

<for list="**1 to ${nr_clones}**" param="clone-nr"> <!-- ** Not working but would like to ** -->

Upvotes: 0

Views: 129

Answers (1)

Trace
Trace

Reputation: 18869

Fixed this by using Javascript:

<property name="nr_clones" value="4" />

<!-- Build list -->
<script language="javascript">
    <![CDATA[
    var start = 1;
    var end   = FileToJRKScheduler.getProperty("nr_clones");
    var list = start;
    for (i = parseInt(start) + 1; i <= end; i++) {
      list += "," + i.toString();
    }
    FileToJRKScheduler.setProperty("list_clones", list);
  ]]>
</script>

Then using:

<for list="${list_clones}" param="clone-nr">

Credits: https://eureka.ykyuen.info/2014/01/17/apache-ant-iteration-within-a-specific-number-range/

Upvotes: 0

Related Questions