DirSet はディレクトリのグループです。これらのディレクトリは基本ディレクトリから始まり、パターンセットとセレクタから取られているパターンによって一致するディレクトリツリーの中にあります。
パターンセットはネストした <patternset> 要素として指定できます。さらに、DirSet は暗黙のパターンセットを持ち、<patternset> のネストした <include>、<includesfile>、<exclude>、<excludesfile> 要素と <patternset> の属性を直接サポートします。
セレクタは DirSet 内のネストした要素として使用できます。DirSet 内のセレクタがディレクトリを選択しない場合、そのディレクトリは DirSet の一部と見なされません。これにより、DirSet は <and> セレクタコンテナと同等になります。
| 属性 | 説明 | 必須 |
|---|---|---|
| dir | この DirSet のディレクトリツリーのルート。 | はい |
| includes | 含まれる必要があるディレクトリのパターンのコンマまたはスペースで区切られたリスト。 | いいえ。既定ではすべてのディレクトリ |
| includesfile | ファイルの名前。このファイルの各行はインクルードパターンとみなされます。注意: ファイルが空で、ファイルセットに他のパターンが定義されていない場合、すべてのディレクトリがインクルードされます。 | いいえ |
| excludes | 除外する必要があるディレクトリのパターンのコンマまたはスペースで区切られたリスト。 | いいえ。既定ではなし |
| excludesfile | ファイルの名前。このファイルの各行は除外パターンとみなされます。 | いいえ |
| casesensitive | 大文字と小文字を区別する必要があるかどうかを指定します (true、 yes、 onまたは false、 no、 off)。 |
いいえ。既定では true |
| followsymlinks | シンボリックリンクをたどる必要がありますか? FileSet のドキュメント を参照してください。 | いいえ。既定では true |
| erroronmissingdir | 基本ディレクトリが存在しない場合の処理を指定します。 trueの場合、ビルドエラーが発生します。 falseの場合、DirSet は無視され、空になります。Apache Ant 1.7.1 以降 |
いいえ。後方互換性の理由から既定は true です。 |
| refid | この dirset を dirset への 参照 にします。指定した場合、他の属性やネストされた要素は許可されません。 |
いいえ |
<dirset dir="${build.dir}">
<include name="apps/**/classes"/>
<exclude name="apps/**/*Test*"/>
</dirset>
${build.dir} のサブディレクトリ apps にある classes という名前のすべてのディレクトリをグループ化します。ただし、名前に Test というテキストが含まれているディレクトリを除きます。
<dirset dir="${build.dir}">
<patternset id="non.test.classes">
<include name="apps/**/classes"/>
<exclude name="apps/**/*Test*"/>
</patternset>
</dirset>
上記の例と同じディレクトリをグループ化しますが、別のディレクトリをルートとする <dirset> 要素で参照できるパターンセットも確立します。
<dirset dir="${debug_build.dir}">
<patternset refid="non.test.classes"/>
</dirset>
上記と同じパターンを使用してディレクトリ ${debug_build.dir} のすべてのディレクトリをグループ化します。
<dirset id="dirset" dir="${workingdir}">
<present targetdir="${workingdir}">
<mapper type="glob" from="*" to="*/${markerfile}"/>
</present>
</dirset>
${workingdir} のどこかにある、${markerfile} を含むすべてのディレクトリを選択します。