gradle

gradle構(gòu)建的三個生命周期階段:
初始化階段
配置階段
執(zhí)行階段

//在project進(jìn)行配置前調(diào)用,child project必須在root project中設(shè)置才會生效,root project必須在settings.gradle中設(shè)置才會生效
void beforeProject(Closure closure)

//在project配置后調(diào)用
afterProject(Closure closure)

//構(gòu)建開始前調(diào)用
void buildStarted(Closure closure)

//構(gòu)建結(jié)束后調(diào)用
void buildFinished(Closure closure)

//所有project配置完成后調(diào)用
void projectsEvaluated(Closure closure)

//當(dāng)settings.gradle中引入的所有project都被創(chuàng)建好后調(diào)用,只在該文件設(shè)置才會生效
void projectsLoaded(Closure closure)

//settings.gradle配置完后調(diào)用,只對settings.gradle設(shè)置生效
void settingsEvaluated(Closure closure)

構(gòu)建plugin
方式一:
gradle項目默認(rèn)buildSrc名字的module是gradle的配置項目,執(zhí)行順序是在所有項目的最前面。下面是大致的實現(xiàn)步驟:
1.在項目創(chuàng)建buildSrc名字java module
2.在settings.gradle文件中移除其引用,使其成為一個獨立的項目
3.build.gradle加入gradle的依賴配置,類似根build.gradle文件的配置
4.創(chuàng)建Plugin implements Plugin<Project> class
5.在app module中導(dǎo)入該類,并且引入該插件。

gradle屬性,可以在Plugin中設(shè)置類似:
project.getExtensions().create("my_extension",MyPluginExtension.class);
設(shè)置了這個屬性,我們可以在其他的build.gradle文件中使用該屬性給plugin傳值。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容