发布开源库

一、开源库托管平台

  • google:Google 公司提供的
  • mavenCentral:Sonatype 公司提供
  • JCenter:是 bintray 这个平台上,由 JFrog 公司维护的。这个平台上每个人都有自己的仓库,JCenter 只是其中一个。

二、bintray & JCenter

每个账户下,有「仓库」概念,类似 github 仓库。
每个仓库下,有「包」概念,比如微信 opensdk 根据是否带 mta 有两个版本。
每个包下,有「版本」概念,随着功能升级带来的版本升级。

三、发布工具

1. bintray-release

这个工具是对下面官方工具的一个封装,方便使用。使用方式如下

apply plugin: 'com.novoda.bintray-release'  // 引用插件

publish {
    userOrg = 'bintray 用户名'
    repoName = '仓库名称'
    uploadName = '包名称'
    groupId = 'gradle 引用第一部分'
    artifactId = 'gradle 引用第二部分'
    publishVersion = 'gradle 引用第三部分'
    desc = '随意'
    website = '随意'
    autoPublish = true // 上传到 bintray 只是暂时缓存,只有发布后才算成功,可以改为 false,手动去 bintray 上发布。默认 true
    dryRun = false // 模拟运行,默认 false
    bintrayUser = 'bintray 用户名,这个变量可以在命令行输入'
    bintrayKey = 'bintray 密钥,这个变量可以在命令行输入'
}

2. gradle-bintray-plugin

这是 bintray 官方工具,使用方法如下

apply plugin: 'com.jfrog.bintray'

bintray {
    user = 'bintray 用户名'
    key = 'bintray 密钥'
    publications = ['Test'] // 下方 publications 的名字
    pkg {
        repo = '仓库名称' 
        name = '包名称'
        userOrg = 'bintray 用户名'
        websiteUrl = website
        version {
            name = '' 版本号
        }
    }
}

publishing {
    publications {
        Test(MavenPublication) {
            artifact '开源库文件本地地址'
            groupId = 'gradle 引用第一部分'
            artifactId = 'gradle 引用第二部分'
            version = 'gradle 引用第三部分'
        }
    }
}

你可能感兴趣的:(发布开源库)