パターンはセットにグループ化でき、後でそのid属性で参照できます。これらはpatternset
要素を介して定義され、FileSetまたは暗黙的なFileSetを構成するディレクトリベースのタスクにネストできます。さらに、patternset
はtarget
と同じレベルでスタンドアロン要素として、つまりproject
の子として、およびtarget
の子として定義できます。
パターンは、ネストされた<include>
または<exclude>
要素、あるいは以下の属性で指定できます。
属性 | 説明 | デフォルト |
---|---|---|
includes | 含める必要があるファイルのパターンのカンマ区切りまたはスペース区切りリスト。 | すべてのファイルが含まれます。 |
includesfile | ファイルの名前。このファイルの各行は、含めるパターンと見なされます。ネストされたincludesfile 要素を使用することで、複数のインクルードファイルを指定できます。注意: ファイルが空で、filesetに対して他に定義されたパターンがない場合、すべてのファイルが含まれます。 |
includesを参照してください。 |
excludes | 除外する必要があるファイルのパターンのカンマ区切りまたはスペース区切りリスト。 | デフォルトの除外を除き、ファイルは除外されません。 |
excludesfile | ファイルの名前。このファイルの各行は、除外するパターンと見なされます。ネストされたexcludesfile 要素を使用することで、複数の除外ファイルを指定できます。 |
excludesを参照してください。 |
refid | このpatternset を、他の場所で定義されたpatternset への参照にします。指定された場合、他の属性やネストされた要素は許可されません。 |
いいえ |
include
とexclude
各要素は、含めるまたは除外するファイルの単一のパターンを定義します。
属性 | 説明 | 必須 |
---|---|---|
name | 含める/除外するパターン。 | はい |
if | 指定されたプロパティが設定されている場合にのみ、このパターンを使用します。 | いいえ |
unless | 指定されたプロパティが設定されていない場合にのみ、このパターンを使用します。 | いいえ |
includesfile
とexcludesfile
ビルドファイルの外側で含めるまたは除外するファイルをリストしたい場合は、includesfile/excludesfile属性または要素を使用する必要があります。属性を使用すると、各タイプのファイルを1つだけ指定できますが、ネストされた要素は複数回指定できます。ネストされた要素は、プロパティの存在をテストするために使用できるif/unless属性もサポートしています。
属性 | 説明 | 必須 |
---|---|---|
name | 含める/除外するパターンを保持するファイルの名前。 | はい |
if | 指定されたプロパティが設定されている場合にのみ、このファイルを読み取ります。 | いいえ |
unless | 指定されたプロパティが設定されていない場合にのみ、このファイルを読み取ります。 | いいえ |
encoding | ファイルのエンコーディング。Ant 1.10.4以降 | いいえ、デフォルトはプラットフォームのデフォルトです。 |
patternset
Patternsetは、互いにネストして、ネストされたパターンを親のpatternsetに追加できます。
invert
Apache Ant 1.7.1以降
ネストされたpatternsetは、<invert>
要素を使用して反転できます。
<patternset id="non.test.sources"> <include name="**/*.java"/> <exclude name="**/*Test*"/> </patternset>
名前にTestというテキストを含まないすべての.javaファイルに一致するパターンのセットを構築します。このセットは、この機能をサポートするタスクまたはFileSetによって、<patternset refid="non.test.sources"/>
を介して参照できます。
includes属性とexcludes属性はカンマまたはスペースで区切られた複数の要素を受け入れますが、ネストされた<include>
要素と<exclude>
要素は、そのname属性が単一のパターンを保持することを予期していることに注意してください。
ネストされた要素では、プロパティが設定されている場合にのみ要素を使用する必要があること、またはプロパティが設定されていない場合にのみ要素を使用する必要があることを指定するために、if属性とunless属性を使用できます。
たとえば
<patternset id="sources"> <include name="std/**/*.java"/> <include name="prof/**/*.java" if="professional"/> <exclude name="**/*Test*"/> </patternset>
プロパティprofessional
が何らかの値に設定されている場合にのみ、サブディレクトリprof内のファイルを含めます。
次の2つのセット
<patternset includesfile="some-file"/>
と
<patternset> <includesfile name="some-file"/> <patternset/>
は同じです。インクルードパターンは、ファイルsome-fileから1行に1パターンずつ読み込まれます。
<patternset> <includesfile name="some-file"/> <includesfile name="${some-other-file}" if="some-other-file"/> <patternset/>
プロパティsome-other-file
が指すファイルからも、その名前のプロパティが定義されている場合に、インクルードパターンが読み込まれます。