TarFileSet
自 Apache Ant 1.7 起成为独立类型。
<tarfileset>
是 <fileset>
的一种特殊形式,它可以以两种不同的方式运行。
<tarfileset>
支持 <fileset>
的所有属性,以及下面列出的属性。请注意,通常情况下,tar 归档文件不包含以斜杠开头的条目,因此您也不应该使用以斜杠开头的 include/exclude 模式。
自 Ant 1.7 起,可以使用 id 属性定义 tarfileset,并使用 refid 属性引用它。
属性 | 描述 | 必需 |
---|---|---|
prefix | fileset 中的所有文件在归档文件中都以该路径为前缀。 | 否 |
fullpath | fileset 描述的文件将放置在归档文件的精确位置。 | 否 |
src | 可以代替 dir 属性使用,以指定一个 tar 文件,其内容将被提取并包含在归档文件中。 | 否 |
filemode | 一个 3 位八进制字符串,以标准的 Unix 方式指定用户、组和其他模式。仅适用于普通文件。 | 否;默认值为 644 |
dirmode | 一个 3 位八进制字符串,以标准的 Unix 方式指定用户、组和其他模式。仅适用于目录。 | 否;默认值为 755 |
username | tar 条目的用户名。这与 UID 不同。 | 否 |
group | tar 条目的组名。这与 GID 不同。 | 否 |
uid | tar 条目的用户标识符 (UID)。这是一个整数值,与用户名不同。 | 否 |
gid | tar 条目的组标识符 (GID)。 | 否 |
erroronmissingarchive | 指定如果归档文件不存在会发生什么。如果为 true,则会发生构建错误;如果为 false,则会忽略/清空 fileset。自 Ant 1.8.0 起 |
否;默认为 true |
encoding | 用于 zip 文件中文件名字符编码。有关可能值的列表,请参阅 支持的编码。自 Ant 1.9.5 起 | 否;默认为默认 JVM 字符编码 |
fullpath 属性只能为表示单个文件的 fileset 设置。prefix 和 fullpath 属性不能在同一个 fileset 上同时设置。
当使用 src 属性时,可以使用 include 和 exclude 模式来指定归档文件的一个子集,以便将其包含在归档文件中,就像使用 dir 属性一样。
请注意,目前只有 tar 任务使用权限和所有权属性。
指定的资源将用作 src。
<copy todir="some-dir"> <tarfileset includes="lib/**"> <bzip2resource> <url url="https://example.org/dist/some-archive.tar.bz2"/> </bzip2resource> </tarfileset> </copy>
下载归档文件 some-archive.tar.bz2,动态解压缩并提取它,将 lib 目录的内容复制到 some-dir 中,并丢弃归档文件的其余部分。将比较归档文件条目和目标目录中的文件之间的文件时间戳,除非文件已过期,否则不会覆盖任何文件。