不同构建的多个属性文件

时间:2015-03-14 10:03:10

标签: ant

我有一个项目,包含3个不同构建变体的目标,每个目标都有自己的属性文件,如下所示:

<target name="dev">
  <property file="dev.properties" />
  <antcall target="build" />
</target>

<target name="test">
  <property file="test.properties" />
  <antcall target="build" />
</target>

<target name="prod">
  <property file="prod.properties" />
  <antcall target="build" />
</target>

所有属性文件都定义相同的属性。现在我需要制作一个可以构建它们的目标,我尝试了类似的东西:

<target name="all">
     <antcall target="dev" />
     <antcall target="test" />
     <antcall target="prod" />
</target>

但问题是ant属性是不可变的,我最终得到了dev.properties中所有构建的属性。如果我想用自己的属性构建所有三个目标,推荐的方法是什么?

1 个答案:

答案 0 :(得分:1)

使用单个构建脚本,然后在运行时决定它的目的是不是更简单?

例如:

ant -propertyfile build-dev.properties
ant -propertyfile build-test.properties
ant -propertyfile build-prod.properties
..

使用Jenkins之类的东西自动化构建时,这种方法更灵活。它可以检测源代码更改并自动(并行)运行每种构建类型(如果这是期望的结果)。