如何在Ant中链接或复制?

时间:2012-09-05 18:03:06

标签: ant groovy

我想在Ant中做相当于:

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

或:

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

或:

mkdir -p build/test
cp */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任务保留了目录名。最好的方法是什么?

2 个答案:

答案 0 :(得分:2)

请求示例:

<mkdir dir="build/test"/>

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

答案 1 :(得分:1)

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