编译自己的 Gradle 插件
前面几节我们学习了 Gradle 的任务及命令,通过这几节的学习我们已经有了一定的 Gradle 基础,今天我们就来学习一下如何自定义一款 Gradle 插件。我们为什么要自定义 Gradle 插件呢?那当然是为了我们开发方便呀。如果吃力不讨好谁会去做呢。下面我们进入正题。
Gradle 插件主要分为两类:脚本插件和对象插件。下面我们来看下它们的区别。
1. 脚本插件
脚本插件就是我们在.gradle文件 [例如 demo.gradle ]中定义自己的编译任务。在项目中的build.gradle文件中通过apply from:'demo.gradle'就可以使用这个脚本插件。
下面我们以输出项目名称为例子,来简单学习脚本插件,一般我们将脚本插件写在项目的根目录下,项目目录结构如下:
1.1 demo.gradle
我们在这里定义一个任务 showProjectName 输出,调用该插件的 module 的名称:
1.2 在 build.gradle 中引用该插件
我们需要在对应模块的 build.gradle 文件中引用插件,这里我们在 app 模块下的 build.gradle中引用,由于demo.gradle 在 build.gradle 的父目录一级。所以我们需要在前面加上../,具体如下:
1.3 运行该任务
我们运行这个任务 ,前面定义 Gradle 任务的时候讲过最好使用驼峰命名,我们可以使用以下命令。
输出结果如下,我们看到那种结果都会疏忽当前模块的名称 app。