写在前面
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。
面向Java应用为主。当前其支持的语言C++、Java、Groovy、Kotlin、Scala和Swift,计划未来将支持更多的语言。
1、下载与安装(windows)
1、gradle官网下载:https://gradle.org/releases/

2、解压下载Gradle包,配置环境变量
新建系统环境 GRADLE_HOME,值为gradle解压后的目录
找到path变量,后面添加 %GRADLE_HOME%\bin
3、打开cmd,输入gradle -v ,测试是否配置完成
1.1、idea中配置gradle
在IDEA中创建Gradle项目时,会自动生成gradle文件夹,其中就包括 gradle-wrapper.properties ,IDEA默认使用gradle wrapper来创建项目,所以无需安装gradle也可以正常运行。
下面是配置gradle的仓库

2、基础知识(Gradle 6.9为例)
1、Projects 和 tasks
任何一个 Gradle 构建都是由一个或多个 projects 组成。一个projects 由多个project构成,每个 project 都由多个 tasks 组成。每个 task 都代表了构建执行过程中的一个原子性操作。
2、Gradle 脚本采用 Groovy 书写
脚本示例:build.gradle
task hello {
doLast {
println 'Hello world!'
}
}
在该文件目录下执行:gradle -q hello
以上代码可简写为
task hello {
println 'Hello world!'
}
<<在Gradle4.x中被弃用,在Gradle 5.0中被移除。
弃用以前写法:
task hello << {
println 'Hello world!'
}
2.1、Gradle 脚本语法
2.1.1、dependsOn
dependsOn 指定依赖关系
task hello {
println 'Hello world!'
}
task intro(dependsOn: hello) {
println "I'm Gradle"
}
延迟依赖:依赖在定义之前使用,该依赖会在后面执行
task taskX(dependsOn: 'taskY') {
println 'taskX'
}
task taskY {
println 'taskY'
}
运行结果
\> gradle -q taskX
taskY
taskX
2.1.2、创建动态任务

\> gradle -q task1
I'm task number 1
2.1.3、增加任务行为
为已存在的任务增加行为。
4.times {
counter ->
task "task$counter" {
println "I'm task number $counter"
}
}
task0.dependsOn task2, task3
为任务增加多个行为
task hello {
println 'Hello Earth'
}
hello.doFirst {
println 'Hello Venus'
}
hello.doLast {
println 'Hello Mars'
}
hello {
println 'Hello Jupiter'
}
2.1.4、参数
$hello.name 可以调用任务hello的名字
task hello {
println 'Hello world!'
}
hello.doLast {
println "Greetings from the $hello.name task."
}
新增一个叫做 myProperty 的属性,用 ext.myProperty 的方式给他一个初始值。
task myTask {
ext.myProperty = "myValue"
}
task printTaskProperties {
println myTask.myProperty
}
2.1.5、Ant 任务
对 Ant 任务进行了的整合
task loadfile {
def files = file('../antLoadfileResources').listFiles().sort()
files.each {
File file ->
if (file.isFile()) {
ant.loadfile(srcFile: file, property: file.name)
println " ***

本文介绍 Gradle 构建工具的基础知识,包括下载安装、脚本语法、任务依赖及配置管理等内容,并提供 Java 项目的具体应用实例。
最低0.47元/天 解锁文章
429

被折叠的 条评论
为什么被折叠?



