Subant Task
すべての定義されたサブビルドのために、与えられたターゲットを呼びます。
Apache Ant
 
説明

すべての定義されたサブビルドのために、与えられたターゲットを呼びます。 これは、大量のプロジェクト実行のためのAntの拡張です。 同じビルドファイルの一部として実行するなら、 このタスクは、targetの外で使われてはいけません。

ディレクトリの使用

違うディレクトリからビルドを実行するために、subantはディレクトリを使うことができます。 2つの違うオプションが提供されています。:

  • 違うベースディレクトリで、 同じビルドファイル/somepath/otherpath/mybuild.xmlを実行するために、 genericantfile属性を使用します。
  • directory1/mybuild.xml, directory2/mybuild.xml, ....と実行したいなら、 antfile属性を使用します。 それぞれのビルドファイルで指定をしますので、この場合、subantタスクはベースディレクトリを設定しません。
 
パラメータ
属性 説明 必要条件
antfile 併用するディレクトリで使用するビルドファイル名
デフォルトは、"build.xml"
genericantfileを設定すると、この属性は無視されます。
String 任意
buildpath サブプロジェクトを見つけるためのビルドパスを指定します。 Path
buildpathref 参照で使用するビルドパス Reference
failonerror エラー時に、ビルド例外で失敗するか、続けるか設定します。 boolean
genericantfile 併用するディレクトリで使用するビルドファイルパス
違うベースディレクトリで同じビルドファイルを実行するためにgenericantfileを使います。
この属性を設定すると、antfileは無視されます。
File
inheritall <ant>inheritall属性に対応しています。 boolean
inheritrefs <ant>inheritrefs属性に対応しています。 boolean
output <ant>output属性に対応しています。 String
target   String
 
ネストした要素のパラメータ
 
dirset (org.apache.tools.ant.types.DirSet)
絶対ビルドパスのための、ディレクトリを追加します。

注意として、ディレクトリは特別な順序なく追加されます。 もし、順序が重要ならば、これの代わりにファイルリストを使うべきです。

 
filelist (org.apache.tools.ant.types.FileList)
絶対ビルドパスのための順序付きファイルリストを追加します。

注意として、ファイルとディレクトリの設定に矛盾して、 ファイルリストは、存在しないファイルやディレクトリを参照できます。

 
fileset (org.apache.tools.ant.types.FileSet)
絶対ビルドパスのための、ファイルセットを追加します。

注意として、ディレクトリは特別な順序なく追加されます。 もし、順序が重要ならば、これの代わりにファイルリストを使うべきです。

 
property (org.apache.tools.ant.taskdefs.Property)
<ant>のネストした<property>要素に対応します。
 
propertyset (org.apache.tools.ant.types.PropertySet)
<ant>のネストした<propertyset>要素に対応します。
 
buildpath (org.apache.tools.ant.types.Path)
ネストしたビルドパスを作成し、絶対ビルドパスに追加します。
 
buildpathelement (org.apache.tools.ant.types.Path.PathElement)
ネストした<buildpathelement>を作成し、絶対ビルドパスに追加します。
 
        <project name="subant" default="subant1">
        <property name="build.dir" value="subant.build"/>
        <target name="subant1">
            <subant target="">
              <property name="build.dir" value="subant1.build"/>
              <property name="not.overloaded" value="not.overloaded"/>
              <fileset dir="." includes="*/build.xml"/>
            </subant>
        </target>
        </project>
        

この断片的なビルドファイルは、プロジェクト内のどのサブディレクトリ内でも、 build.xmlと呼ばれるファイルを見つけて、antを実行します。 プロパティの build.dirは、subantで呼ばれたantプロジェクト内のsubant1.buildという値を持っています。

          <subant target="">
             <propertyset>
                  <propertyref prefix="toplevel"/>
                  <mapper type="glob" from="foo*" to="bar*"/>
             </propertyset>
             <fileset dir="." includes="*/build.xml"/>
          </subant>
        

この断片的なビルドファイルは、プロジェクト内のどのサブディレクトリ内でも、 build.xmlと呼ばれるファイルを見つけて、antを実行します。 "foo"から始まるすべてのプロパティはパスされ、 それらの名前は、代わりに"bar"から始まるものに変えられます。

          <subant target="compile" genericantfile="/opt/project/build1.xml">
             <dirset dir="." includes="projects*"/>
          </subant>
        

プロジェクトディレクトリのサブディレクトリがprojects1, projects2, projects3と呼ばれたと仮定して、 この断片が/opt/project/build1.xmlのコンパイルのターゲットを実行すると、 projects1, projects2, projects3と、ベースディレクトリを設定します。


Copyright © 2000-2003, Apache Software Foundation

[訳注:これは横田聡が翻訳しました。日本語訳に対するコメントがあれば report@jajakarta.orgに送ってください]