本文由CSDN博客万一博主翻译,其他章节的翻译请参见:
http://blog.csdn.net/column/details/gradle-translation.html
翻译项目请关注Github上的地址:
https://github.com/msdx/gradledoc
本文翻译所在分支:
https://github.com/msdx/gradledoc/tree/1.12。
直接浏览双语版的文档请访问:
http://gradledoc.qiniudn.com/1.12/userguide/userguide.html。
另外,Android 手机用户可通过我写的一个程序浏览文档,带缓存功能的,目前0.2.1版本兼容 android 2.2以上系统,地址如下:
http://www.wandoujia.com/apps/com.githang.gradledoc
翻译不易,转载请注明本文在CSDN博客上的出处:
http://blog.csdn.net/maosidiaoxian/article/details/48129137
关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qiniudn.com 上的文档为准。如有发现翻译有误的地方,将首先在以上两个地方更新。因时间精力问题,博客中发表的译文基本不会同步修改。
第四十章. ANTLR 插件
ANTLR 插件扩展自 Java 插件并添加了使用 ANTLR 生成语法分析器的支持。
ANTLR 插件只支持 ANTLR 版本 2。
40.1. 用法
要使用 ANTLR 插件,请在构建脚本中包含以下语句:
示例 40.1. 使用 ANTLR 插件
build.gradle
apply plugin: 'antlr'
40.2. 任务
ANTLR 插件向你的项目添加了大量的任务,如下所示。
表 40.1. ANTLR 插件 - 任务
| 任务名称 | 依赖于 | 类型 | 描述 |
generateGrammarSource |
- | AntlrTask |
为所有生产 ANTLR 语法生成源文件。 |
generateTestGrammarSource |
- | AntlrTask |
为所有测试 ANTLR 语法生成源文件。 |
generate |
- | AntlrTask |
为给定的 source set 的所有 ANTLR 语法生成源文件。 |
ANTLR 插件向 Java 插件所加入的 tasks 添加了以下的依赖。
表 40.2. ANTLR 插件 - 附加的任务依赖
| 任务名称 | 依赖于 |
| compileJava | generateGrammarSource |
| compileTestJava | generateTestGrammarSource |
compileSourceSetJava |
generateSourceSetGrammarSource |
40.3. 项目布局
表 40.3. ANTLR 插件 - 项目布局
| 目录 | 意义 |
src/main/antlr |
生产 ANTLR 语法文件。 |
src/test/antlr |
测试 ANTLR 语法文件。 |
src/ |
对于给定的source set 的 ANTLR 语法文件。 |
40.4. 依赖管理
ANTLR 插件添加了一个 antlr 的依赖配置:你可以使用它来声明你想要使用的 ANTLR 依赖。
示例 40.2. 声明 ANTLR 版本
build.gradle
repositories {
mavenCentral()
}
dependencies {
antlr 'antlr:antlr:2.7.7'
}
40.5. 约定属性
ANTLR 插件不会添加任何约定属性。
40.6. Source set 属性
ANTLR 插件向 project 的每一个source set 添加了下列属性。
表 40.4. ANTLR 插件 - source set 属性
| 属性名称 | 类型 | 默认值 | 描述 |
antlr |
SourceDirectorySet (read-only) |
非空 | 给定的source set 的 ANTLR 语法文件。包含在 ANTLR 源目录中找到的所有的.g,并排除所有其他类型的文件。 |
antlr.srcDirs |
Set. 可以使用 16.5 章节,"指定一组输入文件"中所讲到的任何一个来设置。 |
[ |
该源目录包含该 source set 中的 ANTLR 语法文件。 |