通用Ant任务将所有项目的通用build.xml调用到eclipse workpsace

时间:2018-06-16 17:14:17

标签: java eclipse ant

我想创建一个通用ant task来调用Eclipse工作区中存在“build.xml”的许多项目。

到目前为止,代码是一个解决方案,我必须为每个项目复制代码:

<project name="AllProjects" default="AllPrjs" basedir=".">
  <!-- Eclipse workspace path considering this file is under a project root -->
  <property name="workspace.path" location="${basedir}\.." />

  <!-- Fixed project names [ProjectA..Z] -->
  <property name="projectB"     value="ServeletAppCustomer" />
  <property name="projectA"     value="ServeletAppStore" />

  <target name="AllPrjs" >

    <!-- Fixed project name and path for [project A] -->
    <property name="projectA.path" location="${workspace.path}\${projectA}\" />
    <ant antfile="${projectA.path}\build.xml" inheritAll="false" target="All" />

    <!-- Fixed project name and path for [project B] -->
    <property name="projectB.path" location="${workspace.path}\${projectB}\" />
    <ant antfile="${projectB.path}\build.xml" inheritAll="false" target="All" />

  </target>
</project>

我的工作区和build.xml像往常一样构建:

\workspace
|---> ProjectA\build.xml
|---> ProjectB\build.xml

我找到了类似的答案here at SO;但是,我想按照建议去ant-contrib

由于

1 个答案:

答案 0 :(得分:0)

您可以使用内置的 subant 任务代替 ant 任务和 ant-contrib 。 Subant可以通过两种方式使用:在不同的目录中运行相同的构建文件,或者在多个构建文件中运行 - 就像在您的情况下一样。

<subant target="All">
    <fileset dir="${workspace.path}" includes="*/build.xml"/>
</subant>