0

我正在使用 ant 来驱动一些测试自动化。我有一个扁平文件夹,其中包含大约 100 个相同类型的文件。我想将这些文件均匀地分布在 4 个文件夹中,以将执行分布在几台机器上。因此,该项目将创建四个文件夹,然后运行一百个文件,将一个文件传递到一个文件夹,然后继续。文件 1 转到文件夹 1、2 到 2、3 到 3、4 到 4、5 到 1 等。文件的名称和数量会有所变动。我可以编写一个小实用程序来执行此操作,但如果我可以将其作为 ant 执行的一部分进行,那么维护会更简单。

4

1 回答 1

0

以下示例使用了groovy ANT 任务,它很好地集成到了 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>

笔记:

于 2013-01-08T21:57:37.450 回答