Ant 1.9.4为此引入了多根文件集:
我有一些蚂蚁逻辑,看起来像这样:
<copy todir="src_@{version}" flatten="true">
<fileset dir="${generic-libs.source}prolo">
<include name="**/*.c"/> <!-- all .c files including subfolders -->
<include name="**/*.h"/> <!-- all .h files including subfolders -->
<exclude name="**/test/*.*" /> <!-- exclude test (sub)folders -->
<exclude name="**/test*.*" /> <!-- exclude remaining test sources -->
</fileset>
<fileset dir="${generic-libs.source}genlo">
<include name="**/*.c"/>
<include name="**/*.h"/>
<exclude name="**/test/*.*" />
<exclude name="**/test*.*" />
</fileset>
<fileset dir="${generic-libs.source}ptclo">
<include name="**/*.c"/>
<include name="**/*.h"/>
<exclude name="**/test/*.*" />
<exclude name="**/test*.*" />
</fileset>
...
</copy>
。。。具有另外10个相同的构造。
fileset标记的内容总是相同的,所以我想必须有一种方法来缩短它?
新的资源集合类型就像
<fileset>
和<dirset>
的并集,它们共享相同的配置,但具有不同的基本目录。
在您的情况下,类似于:
<multirootfileset basedirs="${generic-libs.source}prolo,${generic-libs.source}genlo,${generic-libs.source}ptclo">
<include name="**/*.c"/>
<include name="**/*.h"/>
<exclude name="**/test/*.*"/>
<exclude name="**/test*.*"/>
</multirootfileset>