1毡证、自定義插件的方式
類似于自定義task电爹,gradle自定義插件的方式也是三種,而且步驟和自定義task基本類似情竹,這里詳細(xì)描述一下寫在buildSrc項(xiàng)目中的方式藐不。
2、buildSrc項(xiàng)目的搭建
參照自定義task的方式建立項(xiàng)目目錄秦效,然后自定義一個(gè)插件:HelloGradlePlugin.groovy:
package demo.gradle.plugin
import org.gradle.api.Plugin
import org.gradle.api.Project
class HelloGradlePlugin implements Plugin<Project>{
@Override
void apply(Project project) {
project.task("MyCustomTask",type : HelloGradleTask){
println("Hello,Gradle Custom Plugin")
}
}
}
HelloGradleTask.groovy如下:
package demo.gradle.plugin
import org.gradle.api.DefaultTask
import org.gradle.api.tasks.TaskAction
class HelloGradleTask extends DefaultTask{
@TaskAction
void sayHello(){
println("Hello,Gradle Custom Task!")
}
}
3.插件的使用
以上定義好的插件雏蛮,項(xiàng)目中如何使用呢?主要步驟如下:
新建目錄src/main/resources/META-INF/gradle-plugins/阱州,然后在該目錄下面添加
一個(gè)properties文件挑秉,這里為:demo.gradle.plugin.properties,內(nèi)容為:
implementation-class=demo.gradle.plugin.HelloGradlePlugin
最終項(xiàng)目結(jié)構(gòu)如下:
QQ截圖20160623141659.png
然后在主項(xiàng)目中的build.gradle添加:
apply plugin: 'demo.gradle.plugin'
需要注意的地方就是苔货,apply plugin依賴的插件id犀概,
是和demo.gradle.plugin.properties文件名一致的。