Ant复制任务:将每个Project下的所有唯一src文件夹(包括子目录)复制到单个目录
Ant copy task : Copying all only src folder (including subdirectories ) under each Project to single directory
我有以下目录结构:
RootFolder
|build.xml
|Project 1
|src
|resources
|Project 2
|src
|resources
|Project 3
|src
|resources
我想将每个项目下所有唯一的src文件夹(包括子目录)复制到单个目录
这是我试过的
<target name="prep_emma" >
<copy todir="${dest.dir}/src" verbose="true" >
<fileset dir="${RootFolder}">
<include name="**/JavaSource/com/**/*.java"/>
</fileset>
</copy>
</target>
但这会在目标位置创建整个文件夹结构
dest.dir
|Project 1
|src
|Project 2
|src
|Project 3
|src
但我想要
dest.dir
|src
您需要一个 file mapper,cutdirsmapper 应该足够了,f.e。 :
<copy todir="${dest.dir}/src" verbose="true" >
<fileset dir="${RootFolder}">
<include name="**/JavaSource/com/**/*.java"/>
</fileset>
<cutdirsmapper dirs="1"/>
</copy>
意味着领先的项目 x 被剥离。
cutdirsmapper (since Ant 1.8.2)
This mapper strips a configured number of leading directories from the
source file name.
我有以下目录结构:
RootFolder
|build.xml
|Project 1
|src
|resources
|Project 2
|src
|resources
|Project 3
|src
|resources
我想将每个项目下所有唯一的src文件夹(包括子目录)复制到单个目录
这是我试过的
<target name="prep_emma" >
<copy todir="${dest.dir}/src" verbose="true" >
<fileset dir="${RootFolder}">
<include name="**/JavaSource/com/**/*.java"/>
</fileset>
</copy>
</target>
但这会在目标位置创建整个文件夹结构
dest.dir
|Project 1
|src
|Project 2
|src
|Project 3
|src
但我想要
dest.dir
|src
您需要一个 file mapper,cutdirsmapper 应该足够了,f.e。 :
<copy todir="${dest.dir}/src" verbose="true" >
<fileset dir="${RootFolder}">
<include name="**/JavaSource/com/**/*.java"/>
</fileset>
<cutdirsmapper dirs="1"/>
</copy>
意味着领先的项目 x 被剥离。
cutdirsmapper (since Ant 1.8.2)
This mapper strips a configured number of leading directories from the source file name.