Bintray中提供了Maven、Gradle两种上传(发布)的方式,在对应的Repository上的SET ME UP工具图标中,可以查询到对应的上传方式,其中通过Gradle的配置较多,官方在github上提供了对应的 添加步骤 和 示例工程 ,步骤拆分的较细,笔者急于测试发布功能,没有按照官方步骤进行,转而使用了 bintray-release工具。
CSDN博客参考
带图文的步骤说明,可以参考 http://blog.csdn.net/qq_23179075/article/details/71123452 ,此处不做赘述。
其中主要描述了bintray的项目创建,以及在Android Studio中的gradle工程配置,其关于gradle配置部分,在 bintray-release工具 中有较为详细的说明,本文主要对 bintray-release工具 进行说明。
需要注意的是,bintray-release工具和gradle版本相关,使用者需要关注其版本更新。截止笔者发文(20171128),最新版本为 0.7.0,gradle版本为4.3, 鉴于gradle的更迭较快,实际使用时需要严格注意版本问题。
笔者在实际使用时,就出现过”Failed to notify build listener”之类的问题,在更新了bintray-release插件至最新版本、更新gradle至4.3版本后解决了此问题。
项目部署本身就是需要对不同版本进行监视的过程,故而在实际开发中,需要根据当前需求调整,不能依赖别人的配置。
bintray-release工具
官方简介
bintray-release是用来帮助开发者发布对应工具库至bintray, 开发者可以通过其发布android-library工程、基础java工程以及groovy工程, 但主要针对 android工程。
添加bintray-release至gradle工程
apply plugin: 'com.novoda.bintray-release' // must be applied after your artifact generating plugin (eg. java / com.android.library)
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.novoda:bintray-release:<latest-version>'
}
}
注意其中的latest-version与gradle版本的对应,否则会出现很多意外情况。
项目发布
在需要发布的library对应的build.gradle中,添加publish闭包字段:
publish {
userOrg = 'novoda'
groupId = 'com.novoda'
artifactId = 'bintray-release'
publishVersion = '0.6.1'
desc = 'Oh hi, this is a nice description for a project, right?'
website = 'https://github.com/novoda/bintray-release'
}
然后通过gradlew脚本,进行编译上传:
$ ./gradlew clean build bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
其中的BINTRAY_USERNAME是你在bintray.com上的用户名,而BINTRAY_KEY是你在bintray.com对应profile下的API Key(用户最好不要公开此key值,以保证安全性)。
如此,基本上大功告成。等待gradle编译上传结束即可。
bintray-release工具本质上是极大简化了用户需要配置的信息,从而只需要关心与bintray工程信息密切相关的内容,提升开发效率。
后续笔者会根据bintray官方说明,对maven、gradle的标准上传配置进行说明,但不属于本文探讨范畴。