build.gradle
dependencies {
testCompile "org.codehaus.groovy:groovy-all:2.2.0"
}
如果要使用 Gradle 所带的 Groovy 库,请声明 localGroovy()依赖。注意,不同 Gradle 版本附带的 Groovy 版本不同;因此,声明一个固定的 Groovy 依赖要比使用 localGroovy()更安全一些。
配置捆绑的 Groovy 依赖
build.gradle
dependencies {
compile localGroovy()
}
Groovy 库不一定得从远程仓库中获取。它也可以获取自本地中可能检入版本控制的 lib 目录:
配置 Groovy 文件依赖
build.gradle
repositories {
flatDir { dirs 'lib' }
}
dependencies {
compile module('org.codehaus.groovy:groovy:1.6.0') {
dependency('asm:asm-all:2.2.3')
dependency('antlr:antlr:2.7.7')
dependency('commons-cli:commons-cli:1.2')
module('org.apache.ant:ant:1.9.3') {
dependencies('org.apache.ant:ant-junit:1.9.3@jar', 'org.apache.ant:ant-launcher:1.9.3')
}
}
}
groovyClasspath 的自动配置
GroovyCompile 和 Groovydoc tasks 会以两种方式使用 Groovy: 在它们的 classpath 以及它们的groovyClasspath上。前者用于在源代码中查找类的引用,通常会包含 Groovy 库和其他库。后者用来分别加载和执行 Groovy 编译器和 Groovydoc 工具,并且应该只包含 Groovy 库及其依赖项。
除非显式配置了一个 task 的 groovyClasspath ,否则 Groovy(基础)插件会尝试推断该 task 的 classpath。以如下方式进行:
- 如果在在 classpath 中找到 groovy-all(-indy) Jar,相同的 Jar 将添加到groovyClasspath 中。
- 如果在 classpath 中找到 groovy(-indy) Jar ,并且该项目已经在至少一个仓库中声明了它,那么相应的 groovy(-indy)的仓库依赖将添加到 groovyClasspath 中。
- 其他情况,该 task 将执行失败,并提示无法推断 groovyClasspath。
常规属性
Groovy 的插件没有向 project 添加任何的常规属性。
source set 属性
Groovy 的插件向 project 的每一个source set 添加了下列的常规属性。你可以在你的构建脚本中,把这些属性当成是 source set 对象中的属性一样使用。
表 24.4. Groovy 插件 - source set 属性
属性名称 | 类型 | 默认值 | 描述 |
groovy
|
SourceDirectorySet (read-only) | 非空 |
该source set 中的 Groovy 源文件。包含在 Groovy 源目录中找到的所有的.java 文件,并排除所有其他类型的文件。 |
groovy.srcDirs
|
Set<File> .
|
name /groovy] |
源目录包含该 source set 中的 Groovy 源文件。此外可能还包含用于联合编译的 Java 源文件。 |
allGroovy
|
FileTree (read-only) | 非空 |
该source set 中的所有 Groovy 源文件。包含在 Groovy 源目录中找到的所有的.groovy 文件。 |
这些属性由一个 GroovySourceSet 的约定对象提供。
Groovy 的插件还修改了一些 source set 的属性:
表 24.5. Groovy 的插件 - source set 属性
属性名称 | 修改的内容 |
allJava
|
添加在 Groovy 源目录中找到的所有.java 文件。 |
allSource
|
添加在 Groovy 的源目录中找到的所有源文件。 |
GroovyCompile
Java 插件向 project 里的每个 source set 添加了一个 JavaCompile task。这个 task 的类型继承自 JavaCompile task。除非 groovyOptions.useAnt 设置为 true,否则将使用 Gradle 集成的本地的 Groovy 编译器。对于大多数项目而言,这相比基于 Ant 编译器,是个更好的选择。GroovyCompile task 支持官方的 Groovy 编译器的大多数配置选项。
表 24.6. Groovy 插件 - GroovyCompile 属性
任务属性 | 类型 | 默认值 |
classpath
|
FileCollection |
sourceSet .compileClasspath |
source
|
FileTree |
sourceSet .groovy |
destinationDir
|
File . |
sourceSet .output.classesDir |
groovyClasspath
|
FileCollection |
如果classpath 中找到的
Groovy 库 |
标签:Gradle
相关阅读 >>
更多相关阅读请进入《Gradle》频道 >>