TarFileSet

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。prefixfullpath 屬性不能同時設定在同一個 fileset 上。

使用 src 屬性時,includeexclude 模式可用於指定要包含在檔案中的檔案子集,就像 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,並捨棄檔案的其餘部分。檔案時間戳記將在檔案的條目和目標目錄內的檔案之間進行比較,除非檔案已過時,否則不會覆寫任何檔案。