【奇技淫巧】除了 buildSrc 還能這樣統一配置依賴版本?巧用 includeBuild

buildSrc 的缺陷

Android 開發中統一不一樣 module 的依賴版本十分重要,傳統的方式是使用 ext 的方式html

ext
ext

以前我發過關於使用 buildSrc 簡化項目中 gradle 代碼的譯文:什麼?項目裏gradle代碼超過200行了!你可能須要 Kotlin+buildSrc Plugingit

該種方式能夠很好的管理 gradle 的公共配置,這其中固然包括依賴版本github

配置依賴
配置依賴

如圖,在使用依賴時有代碼提示,並且能夠點擊進入查看web

可是因爲 buildSrc 是對全局的全部 module 的配置,所以在構建速度上會慢一些。那麼有沒有一個更純淨的方式來配置依賴版本呢?app

今天咱們來介紹一種新的方式編輯器

自定義 plugin + includeBuild

使用 Gradle Composite builds 能夠很容易解決這一問題ide

咱們新建一個 module,命名爲 version ,並將原來的 buildSrc 的代碼轉移過來模塊化

class DependencyVersionPlugin : Plugin<Project> {
 override fun apply(project: Project) {   } } 複製代碼

在 version 的 build.gradle 文件加入組件化

gradlePlugin {
 plugins {  version {  id = 'com.flywith24.version'  implementationClass = 'com.flywith24.version.DependencyVersionPlugin'  }  } } 複製代碼

在 settings.gradle 加入 includeBuild("version")重點post

includeBuild("version")
 rootProject.name='VersionControlDemo' include ':app' include ':lib' 複製代碼

接下來在須要引用的 module 中引入該插件

plugins {
 id "com.flywith24.version" } 複製代碼

以後咱們就能夠使用了

Demo

demo代碼截圖
demo代碼截圖
demo代碼截圖
demo代碼截圖

demo 在這

往期文章

該系列主要介紹一些「騷操做」,它未必適合生產環境使用,可是是一些比較新穎的思路

個人其餘系列文章 在這裏

關於我

我是 Fly_with24

相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息