FileSet

ファイルセットはファイルの集合です。これらのファイルは、 ベースディレクトリを基点とするディレクトリツリーで見つかる、 幾つかのパターンセットセレクタから 得られたパターンにマッチしたファイルです。ファイルセットは この機能をサポートするタスクの中か、ターゲットと同じレベル、 即ちプロジェクトの子要素として置かれます。

パターンセットはネストされた <patternset>要素として指定されます。 それに加え、ファイルセットには、暗黙的なパターンセットがあり、 パターンセットの属性と同様、パターンセットの <include><includesfile><exclude>および<excludesfile>の要素を直接ネストするのをサポートしています。

セレクタは、ネストした要素として利用されます。ファイルセットの中で。 ファイルセット内のセレクタのうちのどれもがあるファイルを選択しない場合、 そのファイルはファイルセットの一部とは見なしません。これは、<and> セレクタコンテナと等価のファイルセットを作ります。

Attribute Description Required
dir このファイルセットのディレクトリツリーのルート dir か file のどちらかを定義する必要がある
file 1つのファイルのみのファイルセットを定義するためのショートカット
defaultexcludes デフォルト除外パターンを使うかどうか指定します。 (yes | no); 省略された場合デフォルト除外パターンは使われます。 No
includes カンマあるいは空白で区切られた含められるファイルのパターンのリスト; 省略された場合全てのファイルが含められる。 No
includesfile ファイルの名前; このファイルの各行が includes パターンとして扱われる。 No
excludes カンマあるいは空白で区切られた除外するファイルのパターンのリスト; 省略された場合、(デフォルト除外ファイルを除き)何も除外しない。 No
excludesfile ファイルの名前; このファイルの各行が excludes パターンとして扱われる。 No
casesensitive ファイルシステムを大文字小文字を区別せず扱うか。 デフォルトは true。 No
followsymlinks シンボリックリンクに従うか。 デフォルトは true。後述をご覧ください。. No

注意: 正規のパスがそのパスと異なるような全てのファイルやディレクトリは、シンボリックリンクと見なされます。 Unix システムでは、これは通常、実際にはそのファイルがシンボリックリンクであることを意味しますが、別のプラットフォームではこれは違ったものとなることに注意してください。

Examples

<fileset dir="${server.src}" casesensitive="yes">
  <include name="**/*.java"/>
  <exclude name="**/*Test*"/>
</fileset>

${server.src}ディレクトリにある、 Java ソースファイルで、名前に Test の文字列を含まない全てのファイルをグループ化します。

<fileset dir="${server.src}" casesensitive="yes">
  <patternset id="non.test.sources">
    <include name="**/*.java"/>
    <exclude name="**/*Test*"/>
  </patternset>
</fileset>

上と同じですが、他の <fileset> で参照して、違うディレクトリをルートとできるよう、 パターンセットを構築しています。

<fileset dir="${client.src}" >
  <patternset refid="non.test.sources"/>
</fileset>

上の例と同じパターンを用いて、${client.src}ディレクトリにある全てのファイルをグループ化します。

<fileset dir="${server.src}" casesensitive="yes">
  <filename name="**/*.java"/>
  <filename name="**/*Test*" negate="true"/>
</fileset>

最初の例と同じファイルのグループですが、<filename>セレクタを使用しています。

<fileset dir="${server.src}" casesensitive="yes">
  <filename name="**/*.java"/>
  <not>
    <filename name="**/*Test*"/>
  </not>
</fileset>

前のサンプルと同じファイルを、<filename>セレクタと <not> セレクタコンテナの組み合わせを使ってグループ化しています。


Copyright © 2000-2004 The Apache Software Foundation. All rights Reserved.

[訳注: これは漆島賢二、浦本 和則が翻訳しました。日本語訳に対するコメントがあれば、 report@jajakarta.orgに送って下さい。]