> 本文是对Groovy部分官方文档进行了翻译
虽然Ant
只是一个构建工具, 但其提供了例如能够操作文件(包括zip文件), 拷贝, 资源管理等诸多实用功能. 然而如果你不喜欢使用build.xml
文件或者Jelly
脚本, 而是想要一种清晰简洁的构建方式, 那么你就可以试试使用Groovy编写构建过程.
Groovy提供了一个辅助类AntBuilder
帮忙编写Ant构建任务. 它看起来很像一个不带尖括号的Ant’s XML的简洁版本. 因此你可以在脚本中混合和匹配标记. Ant本身是一组Jar文件的集合. 将这组jar文件添加到你的classpath上, 你就可以在Groovy中轻轻松松的使用它们.
AntBuilder
通过便捷的构造器语法直接暴露了Ant task. 下面是一个简单的示例, 它的功能是在标准输出上输出一条消息.
1 | def ant = new AntBuilder() |
- 创建一个
AntBuilder
实例 - 执行
AntBuilder
实例的echo task
假设,现在你需要创建一个ZIP文件:
1 | def ant = new AntBuilder() |
在下面的例子中, 我们将演示在Groovy中使用传统的Ant 模式通过AntBuilder
拷贝一组文件.
1 | // lets just call one task |
下面的例子是遍历一组文件, 然后将每个文件根据特殊模式进行匹配.
1 | // lets create a scanner of filesets |
Or execute a JUnit test:
下面我们执行JUnit
1 | // lets create a scanner of filesets |
现在, 让我们的步子迈地更大一点:在Groovy中编译然后执行一个Java文件.
1 | ant.echo(file:'Temp.java', ''' |
需要提及的是, AntBuilder
是内嵌于Gradle
中的. 你可以像在Groovy中那样, 在Gradle
使用AntBuilder