我想在ant build文件中定义一个变量列表,以便在我的任务中使用带有此列表的循环。我怎么能这样做?
p.s。:它应该类似于以下内容:
<varlist name="mylist"> <!-- Actually, there is no such tag in Ant -->
<item>someThing</item>
<item>anotherThing</item>
</varlist>
...
<for param="item" list="${mylist}">
<sequential>
<echo>@{item}</echo>
</sequential>
</for>
答案 0 :(得分:4)
<!-- "For" task is supported by Ant-Contrib Tasks
http://ant-contrib.sourceforge.net/tasks/tasks/index.html -->
<taskdef resource="net/sf/antcontrib/antlib.xml">
<classpath>
<pathelement location="ant-contrib-1.0b3.jar"/>
</classpath>
</taskdef>
<property name="someThing" value="Hello"/>
<property name="anotherThing" value="World!"/>
<target name="loop">
<for param="item" list="${someThing},${anotherThing}">
<sequential>
<echo>@{item}</echo>
</sequential>
</for>
</target>
答案 1 :(得分:3)
不确定this是否符合您的意思:
<echo message="The first five letters of the alphabet are:"/>
<for list="a,b,c,d,e" param="letter">
<sequential>
<echo>Letter @{letter}</echo>
</sequential>
</for>
答案 2 :(得分:1)
Ant Addon Flaka 具有非常灵活的 for 任务。您可以使用自己的属性foobar = item1,item2,..或任何现有的csv like property,f.e。 ant path / fileset / dirset提供的一些属性,如$ {ant.refid:whatever}或$ {toString:whatever}或Flaka提供的EL函数的结果,如split()或list()..或其他列表要迭代的对象/项目,请参阅 Flaka manual , Flaka examples 以获取更多详细信息和示例。