使用单个目标和单个命令构建多个环境(Anding -D和属性文件)

时间:2013-01-11 11:40:16

标签: ant build-process build-automation

我必须创建一个命令来创建多个(dev | qa | uat)war / ear。 类似的东西:

ant -f build.xml -Denv=dev|qa|uat -propertyfile= devProp|qaProp|uatProp 
  -Dstage.dir=devdir|qadir|uatdir

我已经有不同的属性文件,不同的登台,为每个环境部署目标。我也有不同的.cmd文件来分别构建它们。

我所坚持的是:我如何一次性建立它们?

1 个答案:

答案 0 :(得分:0)

您可以在目标中使用<subant />指令。

记下一个新的ant脚本(即master.xml),假设你的原始版本是在脚本build.xml中,你可以这样:

<target name="build-all">
   <subant target="build-prod">
     <fileset dir="." includes="build.xml"/>
     <propertyset ......../> <!-- properties for the prod build -->
   </subant>
   <subant target="build-dev">
     <fileset dir="." includes="build.xml"/>
     <propertyset ......../> <!-- properties for the dev build -->
   </subant>
</target>