Gradle学习记录
Gradle是基于groovy语法来书写的脚本
groovy语法
1.定义变量
def var1 = "hello world"
var2 = "hello world2"
2.定义方法
def method(String s1,s2) {
}
可以不声明方法参数的类型
方法调用
method("helloword","hello word2")
method "hello" ,"hello2" 可以不写括号
数据类型
基本数据类型
集合类型
闭包 闭包就是一段代码块,可以作为方法参数进行传递
extension
build.gradle里类似
android{
packagingOptions {
}
}
这种,android其实就是gradle plugin里声明的extension,extension可以有包含关系。
extension的作用是将build.gradle里的配置读取到gradle plugin对象里,具体可见下面这篇文章里的描述
http://blog.bugtags.com/2016/03/28/embrace-android-studio-gradle-plugin/
build.gradle脚本相关
buildscript{
repositories{
}
dependencies {
}
}
repositories{
}
buildscript里的repositories是书写gradle脚本所需依赖库的下载源,可以应用于sub-projects
外面的repositories是工程本身项目代码所需依赖库的下载源
对于android的build.gradle脚本来说
用一句话来概述,就是通过配置extension来配置android plugin执行过程中所需要的参数,并且hook某些task来进行一些定制化的处理
参考文章
http://google.github.io/android-gradle-dsl/current/index.html
https://docs.gradle.org/current/dsl/org.gradle.api.plugins.ExtensionAware.html#N108AD
http://www.jianshu.com/p/b7fc7a6abffb