参考地址:https://www.w3cschool.cn/gradle/ms7n1hu2.html
1. 整体说明
- Gradle使用 Groovy 语言编写脚本,用于描述构建;
- Gradle 中的每一个构建脚本使用UTF-8进行编码保存,并命名为 build.gradle ;
- Gradle脚本用于处理项目和任务;
- 项目由不同任务组成;
- 任务用于执行某一块工作(原子性工作),如:编译一些类、创建JAR、产生Javadoc等。
2. 简单构建脚本测试
新建一个build.gradle文本,并将下面的脚本复制到这个文本中:
task hello {
doLast {
println 'Hello world!'
}
}
完成上述工作后,在该文本所在的目录下执行以下命令:
执行命令:
gradle -q hello
输出结果:
>gradle -q hello
Hello world!
即可输出“Hello World!”。
注:上述命令中的“-q”作用是控制日志的级别,通过“-q”后即可只输出我们需要的内容。可以执行去掉“-q”后的命令,看看这两个命令的区别。
3. 任务依赖
在Gradle中通过dependsOn来指明两个任务的依赖关系。
3.1 顺序依赖
在build.gradle文件中输入以下文本:
task hello{
println 'Hello'
}
task world(dependsOn:hello){
println 'World'
}
然后执行gradle -q world命令:
输出结果:
>gradle -q world
Hello
World
3.2 延迟依赖
被依赖的任务也可以在后面定义。在build.gradle文件中输入以下文本:
task world(dependsOn:'hello'){
println 'World'
}
task hello{
println 'Hello'
}
然后执行gradle -q world命令:
输出结果:
>gradle -q world
World
Hello
注:延迟依赖的被依赖的任务的名称使用单引号引用
4. 默认任务
可以defaultTasks定义多个任务,文件内容如下:
defaultTasks 'world','hello'
task world(dependsOn:'hello'){
println 'World'
}
task hello{
println 'Hello'
}
然后执行gradle -q命令即可执行world和hello两个任务:
输出结果:
>gradle -q
World
Hello