dependset タスクは、ソースのセットとターゲット ファイルのセットを比較します。ソースのいずれかがターゲット ファイルよりも最近変更された場合、ターゲット ファイルはすべて削除されます。
ソース ファイルとターゲット ファイルは、入れ子になった リソースのコレクション によって指定されます。ソースはどのようなタイプの資源でも構いませんが、ターゲットはファイルに限定されます。少なくともソースのセットとターゲットのセットが必要です。
ワイルドカードの include または exclude パターンを使用したい場合で、欠落ファイルは問題ない場合は FileSet を使用します。ファイルが存在しないことを期限切れとして考慮したい場合は FileList を使用します。ソースまたはターゲットの FileList に存在しないファイルがあると、ターゲット ファイルはすべて削除されます。
DependSet は、アルゴリズムで決定できないか、または決定できない依存関係を取り込むのに役立ちます。たとえば、<style> タスクは、ソース XML ファイルと XSLT スタイルシートのみをターゲット ファイルと比較して、ソースのスタイルを変更するかどうかを判断します。dependset を使用すると、この依存関係のチェックを、DTD または XSD ファイルや、メインのスタイルシートによってインポートされる他のスタイルシートに拡張できます。
| 属性 | 説明 | 必須 |
|---|---|---|
| verbose | タスクに削除されたすべてのターゲット ファイルとその削除理由を一覧表示します。 | いいえ |
<sources> 要素は Union であり、任意のリソースのコレクションをネストできます。Apache Ant 1.7 以降
ネストされた <srcfileset> 要素は、FileSet を指定します。この FileSet に含まれているすべてのファイルは、すべての <targetfileset> ファイルセットと <targetfilelist> ファイルリストに含まれているすべてのファイルと比較されます。複数の <srcfileset> ファイルセットを指定できます。
ネストされた <srcfilelist> 要素は、FileList を指定します。このファイルリストに含まれているすべてのファイルは、すべての <targetfileset> ファイルセットと <targetfilelist> ファイルリストに含まれているすべてのファイルと比較されます。複数の <srcfilelist> ファイルリストを指定できます。
Ant 1.7 以降
<targets> 要素は Path であり、したがってファイルシステムベースのリソースをすべて含めることができます。
ネストされた <targetfileset> 要素は、FileSet を指定します。このファイルセットに含まれているすべてのファイルは、すべての <srcfileset> ファイルセットと <sourcefilelist> ファイルリストに含まれているすべてのファイルと比較され、古いものがあればすべて削除されます。複数の <targetfileset> ファイルセットを指定できます。
ネストされた <targetfilelist> 要素は、FileList を指定します。このファイルリストに含まれているすべてのファイルは、すべての <srcfileset> ファイルセットと <sourcefilelist> ファイルリストに含まれているすべてのファイルと比較され、古いものがあればすべて削除されます。複数の <targetfilelist> ファイルリストを指定できます。
次の場合に ${output.dir} ディレクトリの派生 HTML ファイルを削除する
<dependset>
<srcfilelist
dir = "${dtd.dir}"
files = "paper.dtd,common.dtd"/>
<srcfilelist
dir = "${xsl.dir}"
files = "common.xsl"/>
<srcfilelist
dir = "${basedir}"
files = "build.xml"/>
<targetfileset
dir = "${output.dir}"
includes = "**/*.html"/>
</dependset>
上記の例のソースのいずれも存在しない場合、すべてのターゲットファイルも削除されます。代わりに欠落したソースを無視するには、ソース用のファイルリストではなくファイルセットを使用してください。