Ant 任务可用于调用其他 Ant 项目中的目标。
默认情况下,当前项目的所有属性都将在新项目中可用。或者,您可以将该inheritAll
属性设置为 false,并且只有“用户”属性(即,在命令行上传递的那些)将传递给新项目。在任何一种情况下,传递给新项目的属性集都将覆盖在新项目中设置的属性
构建构建的一种方法是首先调用您的子项目,然后使用该Ant
任务调用主项目。
在以下示例中,project2.xml初始化属性,然后由主项目文件build.xml使用。
项目2.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>
构建.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