我使用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>
您也可以使用此方法调用宏或目标。