一、开源库托管平台
- 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 引用第三部分'
}
}
}