1

我想在 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>

似乎通配不是很简单,并且 Ant 任务保留了目录名称。最好的方法是什么?

4

2 回答 2

2

根据要求示例:

<mkdir dir="build/test"/>

<copy todir="build/test">
    <fileset dir=".">
        <include name="*/build/test/TEST-*.xml"/>
    </fileset>
    <flattenmapper/>
</copy>
于 2012-09-06T22:05:15.807 回答
1
<groovy>
    new File('build/test').mkdirs()
    new AntBuilder().fileScanner {
        fileset(dir:'.', includes:'*/build/test/TEST-*.xml')
    }.each {
        "ln ${it} build/test".execute()
    }
</groovy>
于 2012-09-05T18:17:28.470 回答