- 设计:
- 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的其他方法
-
应用第三方发布的插件
- 要在buildscript{}里面配置classpath才行
-
使用plugins DSL应用配置
- Gradle2.1以后才支持
- plugins{ id 'java' }, 如果插件托管在了gradle官方,则不用配置classpath了
-
- 自定义插件
-
脚本插件
- 基础plugin, 重写apply方法,创建任务做自己想做的事情
-
二进制插件
- 创建groovy工程,添加需要的依赖,集成插件,实现apply方法,做自己想做的事情;添加plugin ID.
- plugin ID路径:src/main/resources/META-INF/gradle-plugins/新建名字为plugin id的properties文件
-
内容
k为固定,v为自己的id
-
- 第三方:添加classpath,apply plugin:'id'
-
第五章 | Gradle插件
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 前言 replugin-plugin-gradle 是 RePlugin 插件框架中提供给replugin插件用的...