TarFileSet
自 Apache Ant 1.7 起成為獨立類型。
<tarfileset>
是 <fileset>
的特殊形式,可以有 2 種不同的行為
<tarfileset>
支援 <fileset>
的所有屬性,以及下列所列屬性。請注意,tar 檔案通常不包含以斜線開頭的條目,因此您也不應使用以斜線開頭的包含/排除模式。
自 Ant 1.7 起,tarfileset 可以使用 id 屬性定義,並使用 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,並捨棄檔案的其餘部分。檔案時間戳記將在檔案的條目和目標目錄內的檔案之間進行比較,除非檔案已過時,否則不會覆寫任何檔案。