一、以gradle脚本的方式写gradle 插件
在build.gradle中写入一下代码
apply plugin :SimplePlugin
class SimplePlugin implements Plugin<Project>{
@Override
void apply(Project project) {
println("我是SimplePlugin")
}
}
编译可以看到一下输出
> Configure project :app
我是SimplePlugin
> Task :prepareKotlinBuildScriptModel UP-TO-DATE
BUILD SUCCESSFUL in 436ms
这种用法非常简单,只适用于非常轻量级的脚本,不可以在其他module中使用。
二、在buildSrc目录下写插件
buildSrc是Gradle中的一个特殊目录,它里面能直接引用Gradle中的所有API,并且在编译的时候,自动参与构建。项目中如果没有可以直接创建,并创建TestBuildSrc类,代码如下如下。
再在app module 的build.gradle文件中直接调用
TestBuildSrc.test()
编译看看输出结果
> Task :buildSrc:check UP-TO-DATE
> Task :buildSrc:build UP-TO-DATE
> Configure project :app
测试buildSrc
> Task :prepareKotlinBuildScriptModel UP-TO-DATE
BUILD SUCCESSFUL in 1s
buildSrc只是一个目录,所以他没法被其他项目使用。如果只是在当前项目中使用,比独立项目的方式,和gradle插件的方式都好用。