Settings 文件
- 在 Gradle中,定義一個設(shè)置文件烘浦,用于初始化以及工程樹的配置抖坪。設(shè)置文件的默認(rèn)名字是 setting.gradle,放在根工程目錄下闷叉。一個子工程只有在 Settings 文件里配置了 Gradle 才會識別柳击,才會在構(gòu)建的時候被包含進(jìn)去,也可以指定子項目的路徑片习,如果不指定捌肴,默認(rèn)目錄是其同級目錄蹬叭。
include ':app'
Build文件
- 每個Project 都會有一個 Build 文件,該文件是該 Project 構(gòu)建的入口状知,可以在這里針對 Project 進(jìn)行配置秽五,比如配置版本,需要哪些插件饥悴,依賴哪些庫等坦喘。
-既然每個 Project 都會有一個 Build 文件,那么 Root Project 也不例外西设,Root Project 可以獲取到所有的 Child Project瓣铣,可以統(tǒng)一配置
/**
* 所有子類統(tǒng)一配置
*/
subprojects {
repositories {
google()
jcenter()
}
}
/**
* 所有子類和 Root Project統(tǒng)一配置
*/
allprojects {
repositories {
google()
jcenter()
}
}
Projects以及 tasks
- 一個項目又包含很多個 Task,也就是說每個 Project 是由多個 Task 組成的贷揽。那什么是 Task 呢棠笑?Task 就是一個操作,一個原子性的操作禽绪,比如打個 jar 包蓖救,復(fù)制一份文件,編譯一次代碼等等印屁,這就是一個 Task循捺。
/**
* 先聲明,這是一個 task
*/
class task1 extends DefaultTask{
/**
* 方法和類的名字一致
* @return
*/
def task1(){
def a = 999999
def b = "hello"
def c = "a=${a+100666600}, b=${b+" word!"}"
println c
}
}
/**
* 再項目調(diào)用
*/
project.tasks.create("task1", task1)
自定義屬性
- Project 和 Task 都允許用戶添加額外的自定義屬性雄人,要添加額外的自定義屬性从橘,通過對應(yīng)用的 ext 屬性即可實現(xiàn)。添加之后可以通過 ext 屬性對自定義屬性讀取和設(shè)置础钠,如果要同時添加多個自定義屬性恰力,可以通過 ext 代碼塊:
- 相比局部變量,自定義屬性有更為廣泛的作用域珍坊,你可以跨 Project牺勾,跨 Task 訪問這些自定義屬性。只要你能訪問這些屬性所屬的對象阵漏,那么這些屬性都可以被訪問到驻民。
- 自定義屬性不僅僅局限在 Project 和 task 上,還可以應(yīng)用在 SourceSet 中履怯,這樣等于每個 SourceSet 又多了一個可供配置的屬性回还。
/**
* 自定義一個 Project 屬性
*/
ext.age = 22
/**
* 自定義屬性塊,
* 也可單獨抽出放在一個.gradle文件中引用
*
*/
ext {
phone = "1582016776"
address = "上海松江區(qū)"
}
//輸出
println "年齡是:${age}"
println "電話是:${phone}"
println "地址是:${address}"
腳本即使代碼叹洲,代碼也是腳本
- 雖然我們在一個 Groovy 文件中寫腳本柠硕,但是我們寫的是代碼,在這些腳本文件上,可以定義 Class蝗柔、內(nèi)部類闻葵、導(dǎo)入包、定義方法癣丧、常量槽畔、接口、枚舉等等胁编。