gradle学习
Posted rainymemory
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gradle学习相关的知识,希望对你有一定的参考价值。
projects和tasks
任何一个Gradle构建都是由一个或者多个project组成
每个project都有多个tasks构成
每个task都代表了构建执行过程中的一个原子性操作.例如 编译 打包
构建一个gradle应用
通过在命令行运行gradle命令来执行构建,gradle命令会从当前目录下寻找build.gradle文件来进行构建。
- 编写build.gradle
task hello {
doLast {
println ‘Hello world!‘
}
}
- 快速定义任务
task hello << {
println ‘Hello World!‘
}
- 采用groovy语法编写task
task hello << {
String str = "mY_nAmE"
println ‘orginal: ‘+ str
println ‘Upper case: ‘ + str.toUpperCase()
}
- 任务依赖 (添加依赖 task 也可以不必首先声明被依赖的 task)
task hello << {
println ‘hello world‘
}
task intro(dependsOn hello) << {
println "I‘m Gradle"
}
- 动态任务
4.times{counter ->
task "task$counter" <<{
println "I‘m task number $counter"
}
}
- 任务操纵
4.times { counter ->
task "task$counter" << {
println "I‘m task number $counter"
}
}
task0.dependsOn task2, task3
- 增加自定义属性
task myTask {
ext.myProperty = "myValue"
}
task printTaskProperties << {
println myTask.myProperty
}
- 定义默认任务
defaultTasks ‘clean‘, ‘run‘
task clean << {
println ‘Default Cleaning!‘
}
task run << {
println ‘Default Running!‘
}
task other << {
println "I‘m not a default task!"
}
- 依赖任务的不同输出
task distribution << {
println "We build the zip with version=$version"
}
task release(dependsOn: ‘distribution‘) << {
println ‘We release now‘
}
gradle.taskGraph.whenReady {taskGraph ->
if (taskGraph.hasTask(release)) {
version = ‘1.0‘
} else {
version = ‘1.0-SNAPSHOT‘
}
}
以上是关于gradle学习的主要内容,如果未能解决你的问题,请参考以下文章