Ant タスクは、他の Ant プロジェクトでターゲットを呼び出すために使用できます。
デフォルトでは、現在のプロジェクトのすべてのプロパティが新しいプロジェクトで使用できます。または、この属性を false に設定するinheritAll
と、「ユーザー」プロパティ (つまり、コマンドラインで渡されたもの) のみが新しいプロジェクトに渡されます。いずれの場合も、新しいプロジェクトに渡される一連のプロパティは、新しいプロジェクトで設定されているプロパティをオーバーライドします。
ビルドを構成する 1 つの方法は、最初にサブプロジェクトを呼び出し、次にAnt
タスクを使用してマスター プロジェクトを呼び出すことです。
次の例では、project2.xmlによってプロパティが初期化され、マスター プロジェクト ファイルbuild.xmlによって使用されます。
project2.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="project2" default="initialize">
<dirname property="project2.dir" file="${ant.file.project2}" />
<property name="caterpillar.dir" location="${project2.dir}" />
<target name="initialize">
<property name="some.name" value="some.value" />
<ant dir="${caterpillar.dir}" antfile="build.xml" target="build" />
</target>
</project>
build.xml
<?xml version="1.0" encoding="UTF-8"?>
<project name="Caterpillar-Common-Settings">
<target name="build">
<echo message="${some.name}" />
</target>
</project>
ビルドは、次のようにコマンド ラインから初期化されます。
$ ant -f project2.xml
出力
Buildfile: /home/caterpillar/project2.xml
initialize:
build:
[echo] some.value
BUILD SUCCESSFUL
Total time: 0 seconds