2009-06-01 115 views
2

在ant中,是否有一种方法可以组合多个ant构建以部署到元项目。比如我有Ant元构建

workspace/project1/build.xml 
workspace/project2/build.xml 

,我想使

workspace/build.xml 

,将运行在PROJECT1和项目2的具体目标。

回答

0

“antcall”任务可能是您需要的。它允许你在其他ant文件中调用特定的目标。您可以选择将所有当前定义的属性和引用传递给调用的目标。

请注意,这不会与用于调用当前ant文件中的目标的“ant”目标相混淆。

1

我认为这是倒退,不是吗? “ant”允许您指定另一个构建文件,而“antcall”仅用于调用特定目标。

3

ant任务执行此操作。此外,还有一个import任务,它可以让您将子Ant文件作为较大项目文件的一部分。但实际上,如果子项目的Ant文件首先是为其构建的,那么您可能只会这样做。

4

我会推荐subant任务,而不是antantcall。对于上面的例子中,使用在workspace/build.xml如下:

<subant target="target"> 
    <fileset dir="${basedir}" includes="project*/build.xml"/> 
</subant> 

缩小文件集根据需要拿起所有的项目子目录(使用**/build.xml拿起包含一个build.xml文件所有子目录)。