DirSet

DirSet はディレクトリのグループです。これらのディレクトリは基本ディレクトリから始まり、パターンセットセレクタから取られているパターンによって一致するディレクトリツリーの中にあります。

パターンセットはネストした <patternset> 要素として指定できます。さらに、DirSet は暗黙のパターンセットを持ち、<patternset> のネストした <include><includesfile><exclude><excludesfile> 要素と <patternset> の属性を直接サポートします。

セレクタは DirSet 内のネストした要素として使用できます。DirSet 内のセレクタがディレクトリを選択しない場合、そのディレクトリは DirSet の一部と見なされません。これにより、DirSet は <and> セレクタコンテナと同等になります。

属性 説明 必須
dir この DirSet のディレクトリツリーのルート。 はい
includes 含まれる必要があるディレクトリのパターンのコンマまたはスペースで区切られたリスト。 いいえ。既定ではすべてのディレクトリ
includesfile ファイルの名前。このファイルの各行はインクルードパターンとみなされます。注意: ファイルが空で、ファイルセットに他のパターンが定義されていない場合、すべてのディレクトリがインクルードされます。 いいえ
excludes 除外する必要があるディレクトリのパターンのコンマまたはスペースで区切られたリスト。 いいえ。既定ではなし
excludesfile ファイルの名前。このファイルの各行は除外パターンとみなされます。 いいえ
casesensitive 大文字と小文字を区別する必要があるかどうかを指定します (trueyeson または falsenooff)。 いいえ。既定では true
followsymlinks シンボリックリンクをたどる必要がありますか? FileSet のドキュメント を参照してください。 いいえ。既定では true
erroronmissingdir 基本ディレクトリが存在しない場合の処理を指定します。 true の場合、ビルドエラーが発生します。 false の場合、DirSet は無視され、空になります。Apache Ant 1.7.1 以降 いいえ。後方互換性の理由から既定は true です。
refid この dirsetdirset への 参照 にします。指定した場合、他の属性やネストされた要素は許可されません。 いいえ

<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} を含むすべてのディレクトリを選択します。