Gradle入门学习 1. 开始使用grdle
本系列学习资源来源于《Gradle 实战》 中国工信出版集团 电子工业出版社
一、 安装配置
从 http://gradle.org/downloads下载发布版,配置环境变量。
在path里添加: %GRADLE_HOME%\bin
通过 gradle -v
命令可输出版本信息,即安装成功。
D:\Documents\gradle-study>gradle -v
------------------------------------------------------------
Gradle 4.6
------------------------------------------------------------
Build time: 2018-02-28 13:36:36 UTC
Revision: 8fa6ce7945b640e6168488e4417f9bb96e4ab46c
Groovy: 2.4.12
Ant: Apache Ant(TM) version 1.9.9 compiled on February 2 2017
JVM: 1.8.0_31 (Oracle Corporation 25.31-b07)
OS: Windows 7 6.1 amd64
二、开始使用
1. Hello world
新建 build.gradle
文件,内容:
task helloworld{
doLast{
println 'Hello world!'
}
}
运行命令:
gradle -q helloworld
执行:
D:\Documents\gradle-study>gradle -q helloworld
Hello world!
2. 使用<< 代替doLast
doLast是task执行的最后一个action,可以使用<<代替:
task helloworld <<{
println 'Hello world!'
}
3. 动态任务定义和任务链
task startSession << {
chant()
}
def chant() {
ant.echo(message: 'Repeat after me...')
}
3.times{
task "yayGradle$it" <<{
println 'Gradle rocks'
}
}
yayGradle0.dependsOn startSession
yayGradle2.dependsOn yayGradle1, yayGradle0
task groupTherapy(dependsOn: yayGradle2)
执行: gradle groupTherapy
结果:
D:\Documents\gradle-study>gradle groupTherapy
> Task :startSession
[ant:echo] Repeat after me...
> Task :yayGradle0
Gradle rocks
> Task :yayGradle1
Gradle rocks
> Task :yayGradle2
Gradle rocks
Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0.
See https://docs.gradle.org/4.6/userguide/command_line_interface.html#sec:command_line_warnings
BUILD SUCCESSFUL in 1s
4 actionable tasks: 4 executed
这里,关键字dependsOn说明task之间的依赖关系。
3.times 是使用Groovy在java.lang.Number中扩展的times方法,创建3个新的task。 Groovy自动地暴露一个隐式变量it来指定循环迭代的次数。我们使用这个计数器来构建task的名字,对于第一轮的迭代,task叫作yayGradle0。
三、使用Gradle的命令行
1. tasks 查看构建脚本和显示每个可以使用的task
gradle -q tasks
这里,tasks指任务组。每个构建脚本都会默认暴露Help tasks任务组。如果某个task不属于一个任务组,那会显示在Other tasks中,使用命令:gradle tasks --all
进行查看:
2. 任务执行
gradle yayGradle0 groupTherapy
先执行yayGradle0 再执行 groupTherapy,但任务通常只会执行一次,无论是在命令行中指定的还是作为另一个任务的依赖。
3. 任务名字缩写
gradle yG0 gT
因为yG不是唯一的,所以需要加序号。
4. 执行时排除一个任务
gradle gT -x yG0
这条命令会排除yG0和它的依赖任务 startSession。
5. 命令行选项
-? h --help
打印出所有可用的命令行选项,包含描述的信息-b --build-file
指定构建脚本的名称--offline
以离线模式运行构建,仅仅在本地缓存中检查依赖是否存在。-D --system-prop
提供一个系统参数,就像-Dmyprop=myvalue
那样。-P --project-prop
项目参数是构建脚本中可用的变量,可以使用这个选项直接向构建脚本中传入参数-i --info
日志级别-s --stacktrace
打印异常堆栈-q --quiet
减少构建出错时的错误日志tasks
列出所有可运行的taskproperties
显示出项目中所有可用的属性。
四、gradle守护进程
使用守护进程可以加速构建。守护进程会在3小时空闲时间之后自动过期。
gradle groupTherapy --daemon
不使用守护进程
gradle groupTherapy --no-daemon