2

我正在尝试自动化一个构建过程,该过程涉及循环几个目录并在所有目录上运行“ant all”。它们都有一个简单的 build.xml。

我可以通过 shell 脚本来做到这一点,但我使用的是 Groovy 中的其他东西,例如,使用 UI Performance Grails 插件,所以我想坚持使用 Groovy。

网络上的所有文档/论坛/关于 SO 的其他问题,谈论运行 ant.exec 和其他 AntBuilder 方法,但我没有运行一个简单的 ant all。

4

2 回答 2

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 调用它)

于 2013-05-12T08:56:11.750 回答
0

我找到了一种更简单的方法,使用 subant 任务。像这样的东西:

ant.subant(target:"all") {
    fileset(dir:"${pathToBuildDir}" includes:"build.xml") 
}
于 2013-05-19T06:44:56.640 回答