我使用Ant来构建Delphi应用程序(从CruiseControl调用)。
我希望ant以递归方式搜索目录树,查找文件* .dpr,当发现调用第二个build.xml,或者更喜欢宏或目标时,将每个找到的文件名作为“参数”传递。我发现我可以使用subant查找build.xml文件并按顺序运行它们,但这不是我想要的,因为我想避免为每个应用程序创建build.xml。
我想避免的是必须在我的build.xml中逐项列出我的应用程序,而是让ant找到它们。
请不要告诉我使用其他构建工具,因为我们已经在使用Ant方面投入了大量资金。
答案 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>
您也可以使用此方法调用宏或目标。