0

我有疑问,我制作这个构建文件是为了构建 3 个不同的项目

<?xml version="1.0" encoding="UTF-8"?>
<project name="Trinity" basedir="." default="buildall">

   <target name="project1">
        <ant dir="C:/work/project1"/>
   </target>

   <target name="project2" depends="project1">
        <ant dir="C:/work/project2"/>
   </target>

   <target name="project3" depends="project1, project2">
        <ant dir="C:/work/project3"/>
   </target>

   <target name="buildall" depends="project3"/>

</project>

现在正在工作。但我也想在构建之前清理项目。

事实上我想完成这个: C:/work/project1 ant clean build C:/work/project2 ant clean build C:/work/project3 ant clean build

提前致谢。

更新:感谢 Alex 的快速响应,我使用以下内容创建了一个新的 build.xml 文件。我相信它运作良好,你怎么看?

<?xml version="1.0" encoding="UTF-8"?>
<project name="Trinity" basedir="." default="buildall">

   <target name="project1">
        <ant dir="C:/work/project1" target="clean"/>
        <ant dir="C:/work/project1" target="build"/>
   </target>

   <target name="project2" depends="project1">
        <ant dir="C:/work/project2" target="clean"/>
        <ant dir="C:/work/project2" target="build"/>
   </target>

   <target name="project3" depends="project1, project2">
        <ant dir="C:/work/project3" target="clean"/>
        <ant dir="C:/work/project3" target="build"/>
   </target>

   <target name="buildall" depends="project3"/>

</project>

谢谢。

4

1 回答 1

2

根据ant任务,您可以指定外部ant构建文件的目标。

<ant dir="C:/work/project1" target="clean build">

编辑:

根据蚂蚁文档:

您可以使用嵌套元素而不是使用 target 属性来指定多个目标。这些将按照指定的顺序执行,就像使用单个目标调用 Ant 一样,该目标的依赖关系是如此指定的目标。

因此,您可以通过这种方式列出多个目标:

<ant dir="C:/work/project1">
    <target name="clean" />
    <target name="build" />
</ant>

或者,您可以在调用的 Project1、2、3 build.xml 文件中定义一个新目标,如果您想将其保留为单个 xml 元素,cleanBuild该目标将依次调用cleanbuild<ant dir="C:/work/project1" target="cleanBuild">

于 2012-03-21T19:49:44.767 回答