gradle

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

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

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

//構(gòu)建開(kāi)始前調(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è)置才會(huì)生效
void projectsLoaded(Closure closure)

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

構(gòu)建plugin
方式一:
gradle項(xiàng)目默認(rèn)buildSrc名字的module是gradle的配置項(xiàng)目,執(zhí)行順序是在所有項(xiàng)目的最前面。下面是大致的實(shí)現(xiàn)步驟:
1.在項(xiàng)目創(chuàng)建buildSrc名字java module
2.在settings.gradle文件中移除其引用,使其成為一個(gè)獨(dú)立的項(xiàng)目
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è)置了這個(gè)屬性,我們可以在其他的build.gradle文件中使用該屬性給plugin傳值。

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

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