【问题标题】:Generic Ant task to call generic build.xml for all projects into eclipse workpsace将所有项目的通用 build.xml 调用到 Eclipse 工作区的通用 Ant 任务
【发布时间】:2018-11-26 03:38:45
【问题描述】:

我想创建一个通用的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

谢谢

【问题讨论】:

  • 这可以在没有 ant-contrib 的情况下使用内置的 subant 任务而不是 ant 任务。
  • 感谢@howlger,它运行良好!

标签: java eclipse ant


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2014-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 2013-02-03
    • 2012-05-31
    相关资源
    最近更新 更多