我正在使用ant来驱动一些测试自动化。我有一个扁平的文件夹,有大约100个相同类型的文件。我想将这些文件均匀地分布在4个文件夹中,以便将执行分散到几台机器上。因此,项目将创建四个文件夹,然后运行将一个文件传递到文件夹的百个文件,然后继续。文件1进入文件夹1,2到2,3到3,4到4,5到1等。文件的名称和数量会有波动。我可以编写一个小实用程序来执行此操作,但如果我可以将此作为执行蚂蚁执行的一部分,那么对于maintanace来说会更简单。
答案 0 :(得分:0)
以下示例使用groovy ANT task,它非常好地集成到ANT构建中:
<project name="demo" default="distribute">
<target name="bootstrap">
<mkdir dir="${user.home}/.ant/lib"/>
<get dest="${user.home}/.ant/lib/groovy-all.jar" src="http://search.maven.org/remotecontent?filepath=org/codehaus/groovy/groovy-all/2.1.0-beta-1/groovy-all-2.1.0-beta-1.jar"/>
</target>
<target name="distribute">
<taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy"/>
<fileset id="srcFiles" dir="build/src" includes="*.txt"/>
<groovy>
def i = 0
project.references.srcFiles.each {
ant.copy(file:it, todir:"build/dir/${i % 4}", verbose:true)
i++
}
</groovy>
</target>
</project>
注意: