2008-11-03 59 views
2

我使用Ant来构建Delphi应用程序(从CruiseControl中调用)。蚂蚁构建,发现应用程序并迭代它们

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

我想避免的是不得不在我的build.xml中列出我的应用程序,而是让蚂蚁找到它们。

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

回答

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>  

您也可以拨打宏或使用该方法的目标。

+0

谢谢,到目前为止我还没有看过ant-contrib。我会看看。 – 2008-11-04 01:11:14