介紹一種高效率調(diào)試gradle插件的方法肄梨,使用buildSrc調(diào)試方法
原理是gradle會(huì)默認(rèn)在配置初始化前蕉朵,編譯buildSrc這個(gè)項(xiàng)目万牺,可以是java枫弟、groovy邢享、kotlin項(xiàng)目,并把項(xiàng)目配置到classpath下淡诗。
如果buildSrc是一個(gè)groovy項(xiàng)目骇塘,就默認(rèn)幫我們配置了gradle插件了,在項(xiàng)目中我們就可以直接apply我們開發(fā)的插件了韩容。
1款违、在我們的項(xiàng)目中,新建一個(gè)名為buildSrc的java項(xiàng)目
切記不能是androidLibray項(xiàng)目群凶,在高版本的AndroidStudio(我的是3.5.1)奠货,會(huì)編譯失敗。
2座掘、把我們開發(fā)的plugin代碼全部粘貼過(guò)來(lái)收夸,如果所示:
3归粉、gradle插件配置
- 倉(cāng)庫(kù)要首先配置嘹履,有時(shí)會(huì)出現(xiàn)編譯不過(guò)的情況
- 當(dāng)然也可以配置項(xiàng)目代碼的路徑
apply plugin: 'groovy'
repositories {
jcenter()
google()
mavenCentral()
}
dependencies {
implementation localGroovy()
implementation gradleApi()
implementation 'com.squareup.okhttp3:okhttp:3.12.1'
implementation 'org.javassist:javassist:3.22.0-GA'
implementation 'com.squareup.okio:okio:1.14.0'
implementation "com.android.tools.build:gradle:3.1.4"
}
sourceSets {
main {
java.srcDirs = ['src/main/java',
'../profile-gradle-plugin/src/main/java',
'../crashlyplugin/src/main/java',
'../httpsverifyplugin/src/main/java',
'../trafficstatsplugin/src/main/java'
]
groovy.srcDirs = ['src/main/groovy',
'../profile-gradle-plugin/src/main/groovy',
'../crashlyplugin/src/main/groovy',
'../httpsverifyplugin/src/main/groovy',
'../trafficstatsplugin/src/main/groovy'
]
resources.srcDirs = ['src/main/resources',
'../profile-gradle-plugin/src/main/resources',
'../crashlyplugin/src/main/resources',
'../httpsverifyplugin/src/main/resources',
'../trafficstatsplugin/src/main/resources'
]
}
}
4齐疙、編譯一下項(xiàng)目,項(xiàng)目通過(guò)之后便可以在項(xiàng)目中apply我們開發(fā)的plugin了形真。
參考文章:
https://jrebel.com/rebellabs/using-buildsrc-for-custom-logic-in-gradle-builds/
https://docs.gradle.org/current/userguide/organizing_gradle_projects.html#sec:build_sources