我有一个疑问,我制作了这个构建文件,以便构建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>
感谢。
答案 0 :(得分:1)
根据ant task,您可以指定外部ant构建文件的目标
<ant dir="C:/work/project1" target="clean build">
修改强>
根据蚂蚁文件:
您可以使用嵌套元素而不是使用target属性指定多个目标。执行这些操作就好像Ant已使用单个目标调用,该目标的依赖关系是指定的目标,按指定的顺序。
所以你可以用这种方式列出多个目标:
<ant dir="C:/work/project1">
<target name="clean" />
<target name="build" />
</ant>
或者,你可以在名为cleanBuild
的Project1,2,3 build.xml文件中定义一个新目标,如果你想保留它,它将依次调用clean
,然后调用build
作为单个xml元素<ant dir="C:/work/project1" target="cleanBuild">