如何把代码库发布到JCenter

三味码屋 2020年02月29日 981次浏览

1.注册JFrog Bintray账号

JFrog Bintray地址:https://bintray.com/
JFrog Bintray账号注册地址:https://bintray.com/signup/oss

2.创建maven仓库

登录JFrog Bintray之后,进入账号主页,点击“Add New Repository”进入创建仓库页面,开始创建仓库。
1582958802293.jpg
在仓库创建页面,填写好仓库信息,完成仓库的创建。
image.png

3.在maven仓库中创建代码库对应的包

如果代码库是第一次发布,则需要在maven仓库下创建一个包,包的名称和代码库的名称须一致,代码库打包发布之后将存放在这个包目录下。
image.png
在创建包的页面完成创建:
image.png

4.在工程的build.gradle文件的dependencies中添加对bintray插件的依赖

buildscript {
 
    apply from: 'config.gradle'
 
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:${versions.gradle}"
        // 目前bintray插件的最新稳定版是0.9.2
        classpath "com.novoda:bintray-release:0.9.2"
    }
}

5.在库对应的module的build.gradle文件中应用bintray插件

apply plugin: 'com.novoda.bintray-release'

6.在库对应的module的build.gradle文件中配置发布参数

publish闭包在build.gradle代码结构的最外层,具体可参考如下配置:

publish {
    // 用户组织,个人帐号对应用户名
    userOrg = 'yuriyshea'
    // 组id,如'com.yuriyshea.g711:g711:0.0.7'中com.yuriyshea.g711这一部分
    groupId = 'com.yuriyshea.g711'
    // 类库id,需要和Bintray maven仓库中的包名称保持一致,如'com.yuriyshea.g711:g711:0.0.7'中g711这一部分
    artifactId = 'g711'
    // 版本号
    publishVersion = '0.0.7'
    // 类库描述
    desc = 'A library to encode or decode g711 audio data'
    // 项目地址
    website = 'https://github.com/monkey1992/G711'
}

7.在工程目录下通过终端执行发布命令

gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false

BINTRAY_USERNAME替换为JFrog Bintray帐号的名称,BINTRAY_KEY替换为JFrog Bintray帐号的API Key,API Key可在账号详情下面查看到。
发布成功之后,可以在Bintray maven仓库下对应的包中看到上传的代码库,如:
image.png

8.第一次发布成功之后,同步到JCenter

如果是第一次发布,还需要把库同步到JCenter,当JCenter审核通过之后,其他人才能依赖我们发布的库。
如果不是第一次发布,而是更新,则无需再次把库同步到JCenter。
同步到JCenter的操作很简单,只需要点击一下“Add to JCenter”即可执行同步,如下:
image.png
同步之后,就静静地等待jcenter审核吧,审核过程一般只需要几个小时。