cab タスクは Microsoft キャビネット アーカイブ ファイルを作成します。これは jar タスクまたは zip タスクと同様に呼び出されます。このタスクは、実行可能パスに配置する必要がある外部 cabarc ツール(Microsoft による提供)を使用して Windows 上で動作します。
他のプラットフォーム上でこのタスクを使用するには、libcabinet を https://www.freshports.org/archivers/libcabinet/ からダウンロードしてコンパイルする必要があります。
ファイルのインクルード/エクスクルードの仕組みおよびパターンの書き方については、ディレクトリ ベース タスク のセクションを参照してください。
このタスクは暗黙的な FileSet を形成し、<fileset>(dir は basedir になります)のほとんどの属性と、ネストされた <include>、<exclude>、および <patternset> 要素がサポートされています。
非 Unix プラットフォームでは、このタスクはアーカイブ対象のファイルのリストを 一時ディレクトリ に書き込みます。
| 属性 | 説明 | 必須 |
|---|---|---|
| cabfile | 作成する cab ファイルの名前です。 | はい |
| basedir | ファイルをアーカイブする際の開始ディレクトリです。 | いいえ |
| verbose | cabarc ツールからの出力を表示する場合は yesに設定します。 |
いいえ。デフォルトは noです。 |
| compress | ファイルを圧縮せずに格納するには noに設定します。 |
いいえ。デフォルトは yesです。 |
| options | cabarc ツールの追加のコマンドラインオプションを設定します。通常は必要ありません。 |
いいえ |
| includes | インクルードする必要のあるファイルのパターンのカンマまたはスペースで区切られたリストです。 | いいえ。デフォルトはすべて(**)です。 |
| includesfile | ファイルの名前です。このファイルの各行はインクルードパターンになります。 | いいえ |
| excludes | エクスクルードする必要のあるファイルのパターンのカンマまたはスペースで区切られたリストです。 | いいえ。デフォルトはデフォルトのエクスクルード、または defaultexcludes が noの場合はなしです。 |
| excludesfile | ファイルの名前です。このファイルの各行はエクスクルードパターンになります。 | いいえ |
| defaultexcludes | デフォルトのエクスクルードを使用するかどうかを示します(yes|no)。 |
いいえ。デフォルトは yesです。 |
cab タスクは、アーカイブにインクルードされるファイルを指定するためのネストされた <fileset> 要素を 1 つサポートしています。これが指定されている場合、basedir 属性を使用できません。
htdocs/manual ディレクトリのすべてのファイルを manual.cab と呼ばれるファイルに ${dist} ディレクトリに CAB 化します。
<cab cabfile="${dist}/manual.cab"
basedir="htdocs/manual"/>
htdocs/manual ディレクトリのすべてのファイルを manual.cab と呼ばれるファイルに ${dist} ディレクトリに CAB 化します。ただし、mydocs ディレクトリ内のファイル、または todo.html という名前のファイルはエクスクルードします。
<cab cabfile="${dist}/manual.cab"
basedir="htdocs/manual"
excludes="mydocs/**, **/todo.html"/>
htdocs/manual ディレクトリのすべてのファイルを manual.cab と呼ばれるファイルに ${dist} ディレクトリに CAB 化します。ただし、api ディレクトリの下の .html ファイルのみがアーカイブされ、todo.html という名前のファイルはエクスクルードします。cabarc ツールからの出力がビルド出力に表示されます。
<cab cabfile="${dist}/manual.cab"
basedir="htdocs/manual"
includes="api/**/*.html"
excludes="**/todo.html"
verbose="yes"/>
以下は、上記の例と同等です。
<cab cabfile="${dist}/manual.cab"
verbose="yes">
<fileset
dir="htdocs/manual"
includes="api/**/*.html"
excludes="**/todo.html"/>
</cab>