第五章-Gradle插件
说起 Gradle 的插件,不得不感叹 Gradle 的设计。Gradle 的设计非常好,它本身提供一些基本的概念和整体核心的框架,其他用于描述真实的使用场景逻辑都以插件扩展的方式来实现,这样 Gradle 的设计者就可以抽象的方式提供一个核心的框架,其他具体的功能和业务等都通过插件扩展的方式来实现,比如构建 Java 应用,就是通过J ava 插件来实现的。
Gradle 本身内置了很多常用的插件,这些插件基本上能帮我们做大部分的工作,但是也有一些Gradle本身没有内置,这时候就需要我们自己去扩展现有的插件或者自己自定义的插件来达到我们的目的,比如Android Gradle插件就是基于内置的Java插件实现的
5.1 插件是什么
插件是为了解决某一问题域构建甚至各种问题,在 Gradle 的基础上,提供的可复用的扩展。
把插件应用到你的项目中,插件会扩展项目的功能,帮助你在项目的构建过程中做很多事情:
- 可以添加任务到你的项目中,帮你完成一些事情,比如测试,比如编译,比如打包。
- 可以添加依赖配置到你的项目中,我们可以通过他们配置我们项目在构建过程中需要的依赖,比如我们编译的时候依赖的第三方库等
- 可以向项目中现有的对象类型添加新的扩展熟悉、方法等,让你可以使用他们帮助我们配置、优化构建。比如 android{}这个配置块就是 Android Gradle 插件为 Project 对象添加的一个扩展。
- 可以对项目进行一些约定,比如应用Java插件之后,约定src/main/java目录下是我们的源代码存放位置,在编译的时候也是编译这个目录下的Java源代文件。
