Gradle Wrapper是gradle建议的使用方式,这篇文章将会结合具体的例子来说明一下如何使用。
Gradle Wrapper
Gradle Wrapper实际上就是一个脚本,使用它可以下载和使用指定版本的gradle,根据需要进行在使用之前进行下载,有效避免本地机器的设定等环境一致性问题。
虽然gradle的安装已经非常简单,但是使用gradle wrapper是的开发这能够以一种更为标准化的方式创建gradle项目。
使用方式
Gradle Wrapper的使用方式主要是按照如下步骤:
- Step 1: 下载gradle
- Step 2: 将下载的gradle解压并存储至GRADLE_USER_HOME所指定的目录
- Step 3: 使用解压的gradle
事前准备
使用下面的代码示例,内容不再说明,具体说明信息请参看:
liumiaocn:wrapper liumiao$ ls
build.gradle
liumiaocn:wrapper liumiao$ cat build.gradle
println "[phase:configuration] build.gradle ..."
task compile {
group 'compile'
description 'compile task'
println "[phase:configuration] compile"
doFirst {
println "[phase:execution] compile :doFirst()"
}
}
tasks.create(name: 'test',dependsOn: compile) {
group 'test'
description 'test task'
println "[phase:configuration] test"
doLast {
println "[phase:execution] test:doLast()"
}
}
tasks.create("packaging") {
group 'packaging'
description 'packaging task'
dependsOn test
enabled true
println "[phase:configuration] packaging"
doLast {
println "[phase:execution] packaging:doLast()"
}
}
class Install extends DefaultTask{
String installObjectName
@TaskAction
void checkObject() {
println "[phase:execution] install:checkObject (${installObjectName})"
}
@TaskAction
void installObject() {
println "[phase:execution] install:installObject (${installObjectName})"
}
}
task install(type: Install) {
group 'install'
description 'install task'
installObjectName 'test.jar'
println "[phase:configuration] install"
doFirst {
println "[phase:execution] install:doFirst()"
}
doLast {
println "[phase:execution] install:doLast()"
}
}
install.dependsOn packaging
install.onlyIf { packaging.enabled }
liumiaocn:wrapper liumiao$
gradle wrapper
通过gradle tasks可以确认到在Build Setup tasks中有wrapper这样一个内建的任务。
liumiaocn:wrapper liumiao$ gradle tasks
...省略