自 Apache Ant 1.6 起
将目标目录与一个或多个 资源集合 中定义的文件同步。
目标目录中任何未与至少一个嵌套资源集合匹配的文件将被删除。例如,如果您在源文件中排除了一个文件,并且目标目录中存在该名称的文件,它将从目标中删除。
属性 | 描述 | 必需 |
---|---|---|
todir | 要与资源集合同步的目标目录 | 是 |
overwrite | 即使目标文件较新,也覆盖现有文件。 | 否;默认为 false |
includeEmptyDirs | 复制资源集合中包含的任何空目录。 注意:此属性还控制任何嵌套的 <preserveintarget> 元素的行为。如果此属性为 false(默认值),则即使目标目录中仅存在的空目录与 <preserveintarget> 的模式匹配,也会被删除。这可以通过 <preserveintarget> 的 preserveEmptyDirs 属性来覆盖。 |
否;默认为 false |
failonerror | 如果设置为 false,则记录警告消息,但当其中一个嵌套文件集指向不存在的目录时,不要停止构建。 |
否;默认为 true |
verbose | 记录正在复制的文件。 | 否;默认为 false |
granularity | 在决定文件已过期之前要给出的毫秒级宽限期。这是因为并非所有文件系统都支持以毫秒级跟踪最后修改时间。如果源文件和目标文件位于时钟不同步的独立机器上,这也可能很有用。自 Ant 1.6.2 起。 | 否;默认值为 0 毫秒,或 DOS 系统上的 2 秒。 |
资源集合 用于选择要复制的文件组。
在 Ant 1.7 之前,仅支持 <fileset>
作为嵌套元素。
自 Ant 1.7.0 起
指定即使目标目录中不存在,也应保留在目标目录中的文件或目录。
此嵌套元素类似于 FileSet,但它不支持 dir 属性,并且 usedefaultexcludes 属性默认为 false
。
属性 | 描述 | 必需 |
---|---|---|
preserveEmptyDirs | 覆盖此元素匹配的目录的 includeEmptydirs 设置。如果您想保留源目录中不存在的空目录,您可以设置任务的 includeemptydirs 属性或此属性。如果两个属性值冲突,则此属性“获胜”。 | 否;默认为任务的 includeemptydirs 属性的值 |
用 generated-site 中较新的文件覆盖 site 中的所有文件,删除 site 中不存在于 generated-site 中的文件。
<sync todir="site"> <fileset dir="generated-site"/> </sync>
用 generated-site 中较新的文件覆盖 site 中的所有文件,删除 site 中不存在于 generated-site 中的文件,但保留任何 CVS 子目录中的所有文件。
<sync todir="site"> <fileset dir="generated-site"/> <preserveintarget> <include name="**/CVS/**"/> </preserveintarget> </sync>