2012-09-05 18 views
1

我想在螞蟻做等價的:我已經試過如何鏈接或複製Ant?

mkdir -p build/test 
cp */build/test build/test 

mkdir -p build/test 
ln */build/test build/test 

或:

mkdir -p build/test 
ln -s */build/test build/test 

<groovy> 
    new File('build/test').mkdirs() 
    'ln */build/test/TEST-*.xml build/test'.execute() 
</groovy> 

和:

<mkdir dir="build/test"/> 
<copy todir="build/test"> 
    <fileset dir="."> 
     <filename name="*/build/test/TEST-*.xml"/> 
    </fileset> 
</copy> 

似乎globbing in不是很直接,Ant任務保留目錄名。什麼是最好的方法來做到這一點?根據要求

+1

這實際上是兩個問題。處理複製問題,首先您的文件集的語法不正確。其次,您可以使用嵌套的「」元素從複製文件中刪除主要目錄名稱。 –

+0

@ MarkO'Connor,你能否提供適當的螞蟻代碼作爲我們非螞蟻精英的答案? –

回答

2

例子:

<mkdir dir="build/test"/> 

<copy todir="build/test"> 
    <fileset dir="."> 
     <include name="*/build/test/TEST-*.xml"/> 
    </fileset> 
    <flattenmapper/> 
</copy> 
1
<groovy> 
    new File('build/test').mkdirs() 
    new AntBuilder().fileScanner { 
     fileset(dir:'.', includes:'*/build/test/TEST-*.xml') 
    }.each { 
     "ln ${it} build/test".execute() 
    } 
</groovy> 
+1

爲避免運行OS命令,您可以調用ANT符號鏈接任務:http://ant.apache.org/manual/Tasks/symlink.html –