我想创建一个通用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。
由于
答案 0 :(得分:0)
您可以使用内置的 subant 任务代替 ant 任务和 ant-contrib 。 Subant可以通过两种方式使用:在不同的目录中运行相同的构建文件,或者在多个构建文件中运行 - 就像在您的情况下一样。
<subant target="All">
<fileset dir="${workspace.path}" includes="*/build.xml"/>
</subant>