DEVLOG 9.23 Gradle笔记(2)Gradle插件
Gradle这块的学习很不容易理清头绪,所以我想通过学习定义子一个自定义插件的方式学习一下~
以下的内容是根据官网的文档学习的:
https://docs.gradle.org/current/userguide/custom_plugins.html

# 打包插件的方式
通常而言我们能在很多教程中看到的打包插件的方式有三种
Build Script
这种就是在我们写的build.gradle中写一个插件,这个插件会自动被编译和包含到我们当前的脚本所在的classpath。但是这个插件不能在这个脚本之外的地方使用
buildSrc project
Standalone project
自定义Gradle插件
定义一个简单的插件。我们的插件需要执行一个简单的Task
我们写的插件需要implements Plugin,并且传入一个Project类型参数
调用当前Project实例的apply方法
因为这里接受的是一个泛型参数,所以如果接受的是Settings类,就可以对Settings类做一些操作。
可配置的自定义插件
可以配置的插件是通过extensions对象实现的。
因此对于这个简单的Task,我们可以通过构建一个Extension,这个Extension中的message对象是一个Property(mutable property),然后就可以在执行Task的给Plugin传入值。
可以通过Extension的DSL初始化Extension