插件就是把独立或可公用的代码进行打包,已达到其它模块的复用。插件的应用都是通过Project.apply()方法完成的,并且插件分为两种,一种是脚本插件,另一种是二进制插件。
脚本插件就是直接编辑在gradle脚本文件中,然后通过apply plugin: PluginName 引用对应的插件,只能在此脚本中使用。
class MyPlugin implements Plugin<Project> {
@Override
void apply(Project target) {
//此project对象就是 apply插件的Project对象
println "MyPlugin apply"
}
}
apply plugin: MyPlugin
2.二进制插件
二进制插件就是实现了Plugin接口的插件,他们有plugin id,通过apply id引用。一般可以在单独的项目中实现,也可以在buildSrc目录下编写,由于buildSrc可应用于其他项目,那么在它项目初始化前就需要构建好buildSrc,所以他的构建时间会早于settings.gradle,接下来我们以buildSrc方式来实现,
buildSrc目录下的插件,在运行时,会自动打包成jar并进行依赖,实现方式:
-
创建moudle,并且命名为buildSrc。\
-
删除目录仅留下main文件夹,然后创建java文件夹(groovy也可以,只是实现的语言不同),和resources文件夹。\
-
新建resources->META-INF.gradle-plugins->com.empty.test.properties文件,并且写入
implementation-class=com.empty.test.MyTestPlugin
-
在buildSrc中配置 groovy依赖:apply plugin:'groovy'\
-
在app中apply plugin: MyTestPlugin 即可使用