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>