今天我们来讲解下自定义 gradle 插件的方式和如何上传到 Jcenter 仓库。
自定义
插件开发可以用很多种方式,今天我们来讲讲。
- 在 build.gradle 中直接定义
- 在Android 项目中 ,创建 buildSrc 目录
- 通过 module 方式创建
- 使用 idea 创建单独的项目
重要:自定义 plugin 里面没有语法检测,所以出现语法问题的话,就会报错
|
|
那么我们开始
1.在 build.gradle 中直接定义
这样定义只能作用在定义的子项目中。
定义在 app 目录下的 build.gradle 文件中。
我们定义一个叫 TestPlugin 的插件,然后继承 Plugin<Project> 。
创建属性e1、e2,用来从外部获取参数,然后在插件中就可以直接使用。
|
|
在 app 目录下的 build.gradle 文件中,使用此插件,代码如下:
|
|
2.在Android 项目中 ,创建 buildSrc 目录
目录结构如下,项目名称一定要定义成 buildSrc,不然会编译不过。
创建完成后,直接在想要使用这个插件的项目的 build.gradle 中添加
|
|
插件名称为 .properties 的名称。
3.通过 module 方式创建
在 settings.gradle 文件中添加 module 名字。步骤和 2 相同
- 需要手动依赖
- 需要上传到maven仓库中
- 这样会产生鸡生蛋的问题,在生成 pom 的过程中,如果之前的 plugin 有问题,那么需要把项目中相关的配置注释掉,才能正常的执行。把apply plugin: ‘ThreePlugin’ 注释掉。
- 建议使用 idea 创建独立的 项目。有提示,有错误检查。
但是这样不能自己使用编译的插件,需要上传到本地 或者 maven 服务器
build.gradle 文件的配置如下:
|
|
执行 uploadArchives 就会在本地生成 pom
使用
在主的 build.gradle 中进行配置。
|
|
然后在子项目中的 build.gradle 中使用
|
|
4.使用 idea 创建单独的项目
打开 idea ,创建项目,选择 Gradle。
会自动创建文件目录,目录如下:
build.gradle 配置
|
|
如果想要查看 gradle 的源码,修改 gradle-wrapper.properties 。all 为可以查看源码(gradle-5.6.1-bin 是不可以查看源码的)。
|
|
执行 uploadArchives 就会在本地生成 pom
在主的 build.gradle 中进行配置。
|
|
然后在子项目中的 build.gradle 中使用
|
|
上传 jcenter
1).配置
在根 build.gradle 中添加配置:
|
|
在需要上传的子项目中创建 jcenter.gradle 文件,拿我的一个开源项目来讲解一下:
路径如下,可以点击查看
|
|
可以参考注释。
然后在 子的 build.gradle 中添加如下配置:
|
|
2).上传到 bintray
添加完成之后,就可以上传自己的插件或者第三方库。执行下面的命令。(默认你有 jcenter 账号)
在 bintray.com/ 中找到如下界面,PbintrayUser 换成你的jcenter 账号的信息。
在命令行中执行:
|
|
执行完上面的命令之后,会在你的 bintray.com/ 仓库中显示,但是还没提交到 Jcenter,需要你手动提交请求。
3).发布到 JCenter
发布也很简单进入项目页,找到你上传的项目,然后点击进入,点击Add to JCenter,然后点击send就OK了。
新版入口在项目中的 actions 按钮里
旧版在右下角。
这样一次发布就完成了。
下次要发布其他项目直接配置好项目,直接推送就可以了。
4).注意
bintray服务器需要你自备梯子。如果没梯子可以访问,请忽略词条信息。