Ant:如何将值从顶级build.xml传递到子文件夹中的build.xml

时间:2010-01-14 19:34:46

标签: ant

我有一组带有build.xml和sql脚本的文件夹(每个数据库架构一个文件夹)。我在根级别有一个build.xml。我想在根级build.xml中设置server,port,userid,password等的值,并将其传递给每个文件夹中的build.xml。我怎么能这样做?

3 个答案:

答案 0 :(得分:7)

这样:

<ant antfile="sub/build.xml" inheritall="true"/>

答案 1 :(得分:4)

如果您想要更精细的控件,可以将inheritall设置为false,并将各个属性作为<ant>任务的嵌套元素传递。

E.g。

<ant antfile="sub/build.xml" inheritall="false">
  <property name="server" value="server.foo.bar"/>
  <property name="port" value="1234"/>
  ...
</ant>

此外,<ant>任务接受<propertyset>嵌套元素,因此您可以将多个属性捆绑在一起,只传递一个属性集。

答案 2 :(得分:3)

<ant>任务可以满足您的需求:

  

在提供的构建文件上运行Ant。这个   可用于构建子项目。

     

默认情况下,当前项目的所有属性都可用   在新项目中。

所以你只需要调用<ant antfile="dir/build.xml"/>。无需设置inheritAll属性,默认为true