Ant-data-types
Ant-データ型
Antは、多数の事前定義されたデータ型を提供します。 「データ型」という用語をプログラミング言語で使用可能なものと混同しないでください。代わりに、それらをすでに製品に組み込まれている一連のサービスと見なしてください。
次のデータ型は、Apache Antによって提供されます。
ファイルセット
ファイルセットのデータ型は、ファイルのコレクションを表します。 特定のパターンに一致するファイルを含めるまたは除外するフィルターとして使用されます。
たとえば、次のコードを参照してください。 ここで、src属性はプロジェクトのソースフォルダーを指します。
ファイルセットは、「Stub」という単語を含むものを除き、ソースフォルダ内のすべての.javaファイルを選択します。 大文字と小文字を区別するフィルターはファイルセットに適用されます。つまり、Samplestub.javaという名前のファイルはファイルセットから除外されません。
<fileset dir = "${src}" casesensitive = "yes">
<include name = "**/*.java"/>
<exclude name = "**/*Stub*"/>
</fileset>
パターンセット
パターンセットは、特定のパターンに基づいてファイルまたはフォルダーを簡単にフィルター処理できるパターンです。 パターンは、次のメタ文字を使用して作成することができます-
- ?-1文字のみに一致します。
- *-ゼロまたは多くの文字に一致します。
- **-ゼロまたは多数のディレクトリに再帰的に一致します。
次の例は、パターンセットの使用法を示しています。
<patternset id = "java.files.without.stubs">
<include name = "src/**/*.java"/>
<exclude name = "src/**/*Stub*"/>
</patternset>
パターンセットは、次のようにファイルセットで再利用することができます-
<fileset dir = "${src}" casesensitive = "yes">
<patternset refid = "java.files.without.stubs"/>
</fileset>
ファイルリスト
ファイルリストのデータ型は、次の違いを除いてファイルセットに似ています-
- filelistには明示的に名前が付けられたファイルのリストが含まれており、ワイルドカードはサポートされていません。
- filelistデータ型は、既存のファイルまたは存在しないファイルに適用できます。
filelistデータ型の次の例を見てみましょう。 ここで、属性 webapp.src.folder は、プロジェクトのWebアプリケーションソースフォルダーを指します。
<filelist id = "config.files" dir = "${webapp.src.folder}">
<file name = "applicationConfig.xml"/>
<file name = "faces-config.xml"/>
<file name = "web.xml"/>
<file name = "portlet.xml"/>
</filelist>
フィルターセット
コピータスクと共にフィルターセットデータ型を使用すると、パターンに一致するすべてのファイルの特定のテキストを置換値に置き換えることができます。
一般的な例は、次のコードに示すように、リリースノートファイルにバージョン番号を追加することです。
<copy todir = "${output.dir}">
<fileset dir = "${releasenotes.dir}" includes = "**/*.txt"/>
<filterset>
<filter token = "VERSION" value = "${current.version}"/>
</filterset>
</copy>
このコードでは-
- 属性 output.dir は、プロジェクトの出力フォルダーを指します。
- 属性 releasenotes.dir は、プロジェクトのリリースノートフォルダーを指します。
- 属性 current.version は、プロジェクトの現在のバージョンフォルダーを指します。
- 名前が示すとおり、コピータスクは、ある場所から別の場所にファイルをコピーするために使用されます。
Path
*path* データ型は、一般的にクラスパスを表すために使用されます。 パス内のエントリは、セミコロンまたはコロンを使用して区切られます。 ただし、これらの文字は、実行時に実行システムのパス区切り文字に置き換えられます。
クラスパスは、以下の例に示すように、プロジェクト内のjarファイルとクラスのリストに設定されます。
<path id = "build.classpath.jar">
<pathelement path = "${env.J2EE_HOME}/${j2ee.jar}"/>
<fileset dir = "lib">
<include name = "**/*.jar"/>
</fileset>
</path>
このコードでは-
- 属性 env.J2EE_HOME は、環境変数 J2EE_HOME を指します。
- 属性 j2ee.jar は、J2EEベースフォルダー内のJ2EE jarファイルの名前を指します。