初始化階段:解析整個工程中所有project,構建所有的project對應的project物件
配置階段:解析所有的projects物件中的task,構件號所有的task的拓撲圖
執行階段:執行具體的task及其依賴task
在settings.gradle中列印一句話(gradle初始化階段會執行settings.gradle檔案)
println "初始化階段開始執行"在build.gradle中配置監聽,這幾個監聽本質還是**方法,新增**如下
//測試:在控制台中輸入gradle clean,輸出如下配置階段開始前進行監聽
this
.beforeevaluate
//配置階段完成後進行監聽
this
.afterevaluate
//執行階段完畢後進行監聽
this
.gradle.buildfinished
1.對於gradle來說,gradle專案中的父工程是乙個project,但每乙個子模組也是乙個project(只要有build.gradle檔案,都算是project),可以輸入gradle projects檢視整個專案中的project。或者編寫如下**,並執行gradle任務
//2.父project對子project的操作,例如在父project中的build.gradle中配置子project的組名,版本號,依賴等(如果在父project中配置了,子project中不需要再配置)獲取全部project
this
.getprojects()
def getprojects()
project('gradle-study-child')3.如果需要配置父project及所有子project,可以使用allproject,如果只需配置所有的子project,可以使用subproject}
allproject4.檔案屬性
1.獲取路徑
println getprojectdir().absolutepath//2.獲取檔案獲取project路徑
println getbuilddir().absolutepath//
獲取build資料夾路徑
println getrootdir().absolutepath//
獲取工程根路路徑
def findfile(string filepath)3.拷貝檔案
copy//4.依賴相關重新命名拷貝後的檔案
}
buildscript1.task是gradle構建指令碼的乙個執行單元,可以通過gradle tasks檢視project中的全部task//配置工程的外掛程式依賴位址
dependencies {}
}
2.task的建立
task mytask()3.task的執行階段
在task中,使用dofirst和dolast可以控制task執行流程,前者在task中最早執行,後者則是最後執行(兩者都執行於gradle執行階段)
4.task依賴
task othertask(dependson: [mytask])注意:被依賴的task會在該task之前執行一次(該方法可用於決定各個task執行的先後順序)
專案構建工具Gradle詳解
簡單的說,gradle就是用來構建專案的乙個工具。創世之初,世上只有make一種構建工具,後來,其發展為gnu make。後來由於技術的不斷發展,jvm生態圈裡出現了三個最流行的構建工具 task hellotask dolast 假設現在我們已經建立好了taska taskb taskc。task...
Android 第一課 Gradle(構建工具)
ps 只是為了自己學習整理的記錄,摘抄大神前輩,無意侵權 原文 還有另一尊大神的 完整指南 各位初級碼友共同瞻仰 編譯 執行 簽名 打包 等一系列流程,而這背後的工作都是 adt 的功勞。某種意義上 adt 就是我們的構建工具 android studio 以來,就宣布預設使用 gradle 來作為...
前端構建工具
一 什麼是 自動化 構建工具 構建工具是一種自動化工具。一般專案都有較多的檔案,為開發維護方便拆分單個的模組,在發布的時候,對拆分後的各模組進行合併,壓縮等,構建工具可以幫完成這些重複的工作。二 什麼是包管理工具 可以安裝 解除安裝 更新 檢視 搜尋 發布等功能。類似grunt,gulp構建工具,和...