2

我有一个项目列表,每个项目都有 ant 构建脚本,我需要编写另一个 ant 脚本来调用所有其他脚本(即:从一个构建脚本构建所有项目),我想到了类似的东西:

<?xml version="1.0"?>
<project basedir="../path/of/the/destination/project" default="build" name="Main Builder">
    <target name="build">
        <ant antfile="first.xml"/>
        <ant antfile="second.xml"/>
        <!--And so on-->  
    </target>
</project>

问题是basedir属性必须是要构建的项目的属性,因此每次在构建下一个项目之前都需要更改。我该怎么做?

4

2 回答 2

5

发现这个ant任务需要一个属性dir来定义执行 ant 脚本的位置,所以它会是这样的:

<?xml version="1.0"?>
<project basedir="../path/of/the/parent/directory" default="build" name="Main Builder">
    <target name="build">
        <ant antfile="buildScript1.xml" dir="project1"/>
        <ant antfile="buildScript2.xml" dir="project1"/>
        <ant antfile="buildScript3.xml" dir="project1"/>
        <!--And so on-->  
    </target>
</project>
于 2013-08-22T08:31:18.683 回答
0

basedir应该指向包含所有项目的目录,然后在antfile. 像这样做:

<?xml version="1.0"?>
<project basedir="../path/of/the/destination" default="build" name="Main Builder">
    <target name="build">
        <ant antfile="project1/buildScript.xml"/>
        <ant antfile="project2/buildScript.xml"/>
        <ant antfile="project3/buildScript.xml"/>
        <!--And so on-->  
    </target>
</project>
于 2013-08-21T13:06:14.833 回答