TarFileSet はアパッチ Ant 1.7 以降スタンドアロン型となっています。
<tarfileset> は特別な <fileset> の形式で 2 通りの方法で動作します。
src 属性が使用されている場合、またはネストされたリソースコレクションが指定されている場合、tarfileset は src ファイル内で検出された tar エントリで構成されます。dir 属性が使用されている場合、tarfileset は dir の下にあるファイルシステムファイルで構成されます。<tarfileset> は <fileset> のすべての属性と、以下に示す属性をサポートしています。全般的に tar アーカイブには先頭のスラッシュを含むエントリが含まれていないため、スラッシュで始まる include/exclude パターンも使用しないでください。
Ant 1.7 以降、tarfileset は id 属性で定義し、refid 属性を使用して参照できます。
| 属性 | 説明 | 必須 |
|---|---|---|
| prefix | fileset 内のすべてのファイルに、アーカイブ内のそのパスがプレフィックスとして付けられます。 | いいえ |
| fullpath | fileset で示されるファイルがアーカイブのその正確な場所に配置されます。 | いいえ |
| src | dir 属性の代わりに使用でき、そのコンテンツが抽出されてアーカイブに含まれる tar ファイルを指定します。 |
いいえ |
| filemode | 3 桁の 8 進数文字列。標準の Unix 形式でユーザー、グループ、および他のモードを指定します。プレーンファイルにのみ適用できます。 | いいえ。デフォルトは 644です。 |
| dirmode | 3 桁の 8 進数文字列。標準の Unix 形式でユーザー、グループ、および他のモードを指定します。ディレクトリにのみ適用できます。 | いいえ。デフォルトは 755です。 |
| username | tar エントリのユーザー名です。UID とは異なります。 | いいえ |
| group | tar エントリのグループ名です。GID とは異なります。 | いいえ |
| uid | tar エントリのユーザー識別子 (UID) です。これは整数値であり、ユーザー名とは異なります。 | いいえ |
| gid | tar エントリのグループ識別子 (GID) です。 | いいえ |
| erroronmissingarchive | アーカイブが存在しない場合の処理を指定します。 の場合、ビルドエラーが発生します。 の場合、ファイルセットは無視されます/空になります。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 にコピーし、残りのアーカイブを破棄します。アーカイブのエントリとターゲットディレクトリ内のファイルのファイルタイムスタンプが比較され、ファイルは最新でない場合以外は上書きされません。