我在几个目录中有一组文件,我想压缩,然后删除。
fileset
似乎需要指定特定目录,看起来patternset
s可以重复使用,但我仍然必须拥有多个fileset
s(并且它似乎fileset
是"legacy" datatype)。
files
可能就是我所追求的,但我没有办法重用使用它的文件列表。
我希望能够做到这样的事情:
<files id="myfiles" includes="artifacts.jar content.jar
/plugins/*.jar /features/*.jar" />
<target name="zip">
<zip destfile="dest.zip">
<files ref="myfiles">
</zip>
</target>
<target name="clean">
<delete>
<files ref="myfiles">
</delete>
</target>
实现这一目标的最简洁方法是什么?
答案 0 :(得分:1)
路径包含嵌套资源,f.e。文件集
<project default="main">
<path id="myfiles">
<fileset dir="/path/to/some/dir">
<include name="**/*.xml"/>
</fileset>
<fileset dir="/path/to/some/other/dir">
<include name="**/*.xslt"/>
</fileset>
<!-- ... -->
</path>
<target name="zip">
<zip destfile="dest.zip">
<path refid="myfiles"/>
</zip>
</target>
<target name="clean">
<delete>
<path refid="myfiles"/>
</delete>
</target>
<target name="main" depends="zip,clean"/>
</project>
答案 1 :(得分:0)
我最终通过让fileset
的{{1}}成为根并使用dir
内的多个include
元素来包含特定文件,特别是目录。像这样:
fileset