2013-01-08 49 views
0

我使用ant來驅動一些測試自動化。我有一個扁平的文件夾,有大約100個相同類型的文件。我想將這些文件均勻分佈在4個文件夾中,以便將執行分散到幾臺機器上。因此,該項目將創建四個文件夾,然後運行通過一個文件傳遞到一個文件夾的一百個文件,然後繼續。文件1進入文件夾1,2到2,3到3,4到4,5到1等。文件的名稱和編號會波動。我可以寫一個小實用程序來做到這一點,但如果我可以將它作爲螞蟻執行的一部分來做,它對於maintanace來說會更簡單。ant跨多個文件夾均勻複製文件列表

回答

0

下面的示例使用它很好地集成到Ant構建的groovy ANT task

<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> 

注:

  • 使用模運算來分發包含在ANT文件集的文件,到不同的目錄
  • 「bootstrap」目標用於從Maven Central下載並安裝第三方任務罐
相關問題