dependset
任务比较一组源文件和一组目标文件。如果任何源文件比任何目标文件修改得更晚,则所有目标文件都将被删除。
源文件和目标文件通过嵌套的 资源集合 指定;源文件可以是任何类型的资源,而目标文件仅限于文件。至少需要一组源文件和一组目标文件。
当您想使用通配符包含或排除模式并且不关心丢失的文件时,请使用 FileSet。当您想将文件的缺失视为已过期时,请使用 FileList。如果任何源或目标 FileList 中存在任何不存在的文件,则所有目标文件都将被删除。
DependSet 用于捕获无法或不能通过算法确定的依赖关系。例如,<style>
任务仅比较源 XML 文件和 XSLT 样式表与目标文件,以确定是否需要重新样式化源文件。使用 dependset
,您可以将此依赖关系检查扩展到包括 DTD 或 XSD 文件以及主样式表导入的其他样式表。
属性 | 描述 | 必需 |
---|---|---|
verbose | 使任务列出所有已删除的目标文件以及删除它们的原因。 | 否 |
<sources>
元素是一个 Union,可以将任意资源集合嵌套到其中。自 Apache Ant 1.7 起
嵌套的 <srcfileset>
元素指定一个 FileSet。此 fileset 中包含的所有文件将与所有 <targetfileset>
fileset 和 <targetfilelist>
filelist 中包含的所有文件进行比较。可以指定多个 <srcfileset>
fileset。
嵌套的 <srcfilelist>
元素指定一个 FileList。此 filelist 中包含的所有文件将与所有 <targetfileset>
fileset 和 <targetfilelist>
filelist 中包含的所有文件进行比较。可以指定多个 <srcfilelist>
filelist。
自 Ant 1.7 起
<targets>
元素是一个 Path,因此可以包含任何基于文件系统的资源。
嵌套的 <targetfileset>
元素指定一个 FileSet。此 fileset 中包含的所有文件将与所有 <srcfileset>
fileset 和 <sourcefilelist>
filelist 中包含的所有文件进行比较,如果任何文件较旧,则全部删除。可以指定多个 <targetfileset>
fileset。
嵌套的 <targetfilelist>
元素指定一个 FileList。此 filelist 中包含的所有文件将与所有 <srcfileset>
fileset 和 <sourcefilelist>
filelist 中包含的所有文件进行比较,如果任何文件较旧,则全部删除。可以指定多个 <targetfilelist>
filelist。
如果 ${output.dir} 目录中的派生 HTML 文件相对于
<dependset> <srcfilelist dir = "${dtd.dir}" files = "paper.dtd,common.dtd"/> <srcfilelist dir = "${xsl.dir}" files = "common.xsl"/> <srcfilelist dir = "${basedir}" files = "build.xml"/> <targetfileset dir = "${output.dir}" includes = "**/*.html"/> </dependset>
如果上述示例中的任何源文件不存在,则所有目标文件也将被删除。要忽略丢失的源文件,请对源文件使用 fileset 而不是 filelist。