Gradle自定义插件发布到Maven
个人博客
Gradle自定义插件发布到Maven
前言
日常开发中,我们可能会用到一些别人开发的插件,通常我们是这样引入插件的
在项目根目录下的build.gradle增加配置:
1 | buildscript { |
在需要应用插件的模块的build.gradle中增加配置:
1 | apply plugin: 'com.wangyz.plugins.ShellPlugin' |
sync工程后,就可以愉快地应用插件了。
那么,如果我们自己有开发好的插件,也想提供给别人使用,要怎样操作呢?这里就需要把开发的插件上传到公共的仓库中,别人才可以引用到。本文以Maven为例,介绍自定义插件发布到Maven的流程。
注册帐号
可以通过bintray来发布插件到Maven仓库。首先需要注册帐号,注册地址:https://bintray.com/signup/oss
可以直接注册或者通过Github帐号注册。
需要注意的一点,邮箱地址不能为QQ邮箱,否则注册无法成功。
新建仓库
注册成功后,登录进去bintray,开始创建仓库
点击Add New Repository,进入新建仓库配置页面
Name项可以输入maven,Type选择Maven。
插件发布
新建好仓库后,就可以配置Android Studio项目,以便发布插件到远程仓库。
在要发布的library模块下的build.gradle中,增加以下配置
1 | apply plugin: 'com.novoda.bintray-release' |
配置好后,同步项目。
在Android Studio中的Terminal面板中,输入以下命令开始发布:
1 | gradlew clean build bintrayUpload -PbintrayUser=UserName -PbintrayKey=Key -PdryRun=false |
其中PbintrayUser为bintray中注册的用户名,PbintrayKey就是bintray为我们分配的key
查看key的方法:
点击Edit Profile
点击左侧的API Key,这里输入密码
可以点击show查看key或者直接点击右侧的复制按钮复制
正确执行上面的命令后,就可以在bintray中看到我们发布的插件
点击刚才创建的仓库maven,可以看到我们自己定义的插件已经发布了
这个时候,就可以像引用其它插件一样来引用我们自己发布的插件,只不过我们还需要指定maven的具体地址,因为我们还没有把自己的插件发布到jcenter
1 | //项目根目录下的build.gradle |
其中的https://dl.bintray.com/milovetingting/maven
格式为:https://dl.bintray.com/用户名/仓库名 ,应用插件时就会从指定的仓库下载
发布到Jcenter
如果想不使用具体的maven地址,那么就需要发布到jcenter。
进入我们刚才发布的插件的详情页,点击右侧的Add to Jcenter,在弹出的窗口中点击确定后,就会提交发布的申请,在审核通过后,就可以不指定具体的maven地址,直接引用插件了。审核一般几个小时就会通过。