我正在尝试自动化一个构建过程,该过程涉及循环几个目录并在所有目录上运行“ant all”。所有这些都有一个简单的build.xml。
我可以通过shell脚本执行此操作,但我使用的是Groovy中的其他内容,例如,使用UI Performance Grails Plugin,所以我想坚持使用Groovy。
关于网络上的所有文档/论坛/关于SO的其他问题,讨论运行ant.exec和其他AntBuilder方法,但我没有完全运行一个简单的蚂蚁。
答案 0 :(得分:2)
尝试以下示例。
def ant = new AntBuilder()
ant.fileset(id:"builds", dir:".", includes:"**/build.xml")
ant.project.references.builds.each {
ant.project.log "Building ${it}"
ant.ant(antfile:it, target:"all")
}
作为一个独立的groovy脚本为我工作(我没有尝试从grails调用它)
答案 1 :(得分:0)
我发现了一种更简单的方法,使用了一个子任务。像这样:
ant.subant(target:"all") {
fileset(dir:"${pathToBuildDir}" includes:"build.xml")
}