- 设计:
- Gradle提供了一些基本概念和整体核心框架,其他真实场景以扩展插件的形式来实现
- 作用
- 添加额外任务
- 添加依赖配置,第三方库
- 现有的对象类型添加新的扩展属性,方法。如android{}
- 对项目进行约定,如Java插件约定,src/main/java存放源代码
- 应用一个插件
-
Project.apply()
- 二进制插件,脚本插件
-
应用二进制插件
- 实现了Plugin接口的插件,可以有plugin id; ex, apply plugin:'java'
- java 就是plugin id,它是唯一的;
- 全称:org.gradle.api.plugins.JavaPlugin
- 也等价于:apply plugin: JavaPlugin
- 一般以jar形式独立发布
- plugin id以包名命门,防止重复
- 实现了Plugin接口的插件,可以有plugin id; ex, apply plugin:'java'
-
应用脚本插件
- apply from:'version.gradle', 就是把脚本加载进来。
- 脚本模块化的基础
-
apply的其他方法
- image
-
应用第三方发布的插件
- 要在buildscript{}里面配置classpath才行
-
使用plugins DSL应用配置
- Gradle2.1以后才支持
- plugins{ id 'java' }, 如果插件托管在了gradle官方,则不用配置classpath了
-
- 自定义插件
-
脚本插件
- 基础plugin, 重写apply方法,创建任务做自己想做的事情
- image
-
二进制插件
- 创建groovy工程,添加需要的依赖,集成插件,实现apply方法,做自己想做的事情;添加plugin ID.
- plugin ID路径:src/main/resources/META-INF/gradle-plugins/新建名字为plugin id的properties文件
-
内容
image -
k为固定,v为自己的id
-
- 第三方:添加classpath,apply plugin:'id'
-
网友评论