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

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

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

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

最佳答案

如果使用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>


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

10-07 12:28