Ant构建,用于查找应用程序并在其中进行迭代

时间:2008-11-03 23:53:49

标签: delphi ant build build-automation

我使用Ant来构建Delphi应用程序(从CruiseControl调用)。

我希望ant以递归方式搜索目录树,查找文件* .dpr,当发现调用第二个build.xml,或者更喜欢宏或目标时,将每个找到的文件名作为“参数”传递。我发现我可以使用subant查找build.xml文件并按顺序运行它们,但这不是我想要的,因为我想避免为每个应用程序创建build.xml。

我想避免的是必须在我的build.xml中逐项列出我的应用程序,而是让ant找到它们。

请不要告诉我使用其他构建工具,因为我们已经在使用Ant方面投入了大量资金。

1 个答案:

答案 0 :(得分:3)

如果您使用ant-contrib,则可以使用for循环:

<for param="file">
  <fileset dir="${process.dir}" includes="**/*.dpr" />
  <sequential>
    <ant antfile="subbuild.xml">
      <property name="in" value="@{file}"/>                            
    </ant>
  </sequential>
</for>      

您也可以使用此方法调用宏或目标。