发布开源项目到Jcenter
前言
为了将阿里云短信开箱即用发布到Jcenter仓库,前前后后花费了1天半的时间,把端午节都搭进去了。终于今天收到了Jcenter的消息,自己发布的包被添加到了Jcenter仓库,也算给开源社区做了次小贡献。
现在记录下踩过的坑。
注册Jcenter账号
要注意的地方,Jcenter账号跟国内一样分为社区版和企业版,企业版当然是要付费的,而且很坑的是点进Bintray官网,首先映入眼帘的就是大大的Start Your Free Trial
(开始免费试用),一开始我就注册了企业版账号,后来删号重建了。我们应该点这里:
填写信息后注册,我是直接使用的Github账号注册。
创建Repository
点击右上角View Profile
在账号信息下方,我们点击Add New Repository
,创建新的仓库。
在填写信息的时候,选择Public(Private是需要付钱的,大家都懂),如果你是maven项目,仓库名最好填写maven,因为我在申请Add To Jcenter
时,第一次失败了,要求我把项目放在maven路径下。
创建Package
创建完仓库,就是创建包了,没什么好说的,你的应用叫啥名,包就叫啥名就行。
创建完可以看到包的基本信息:
打包上传
这里使用的是开源项目bintray-release,官方文档bintray-release/wiki
主要在build.gradle
里添加如下信息
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.novoda:bintray-release:0.9.1'
}
}
apply plugin: 'com.novoda.bintray-release'
publish {
userOrg = '你的Bintray用户名'
groupId = '应用的groupId,例如:io.github.gcdd1993'
artifactId = '应用的名称,例如:ali-sms-spring-boot-starter'
publishVersion = '应用的版本号,例如:1.0.0.RELEASE'
desc = '一句话概述你的应用干啥的'
website = '应用链接,一般写github地址就行,例如:https://github.com/gcdd1993/ali-sms-spring-boot-starter'
}
/**
* 以下是我自己加的
* 第一个解决Gradle Task:jar skipped的问题
* 第二个解决javaDoc 'UTF-8'乱码问题
*/
jar {
enabled = true
}
tasks.withType(JavaCompile) {
options.encoding = "UTF-8"
}
接下来执行gradle
命令:
./gradlew bintrayUpload -PbintrayUser=BINTRAY_USERNAME -PbintrayKey=BINTRAY_KEY -PdryRun=false
本地测试可以把-PdryRun=false
改为-PdryRun=true
,这样就不会帮你上传到Bintray,其他的都执行。
看到以上信息,证明发布成功了。
Add To Jcenter
发布成功后,你应该会在Package的Files标签下看到你上传的文件
我们点击右上角Actions下的Add To Jcenter
填写信息,两个复选框我都勾选了,然后填写Group Id,填上应用说明(最好用英文),然后等着就行了。
一般来说1~3天你将会收到一封邮件,通知你的申请通过没有,如下
如果没有通过,也会告诉你怎么改,所以不用担心。
这时候再打开Bintray的Package页面,会发现Included In Jcenter
,证明已经被Jcenter收录了,其他人就可以正常使用啦。
Travis CI持续集成
Travis CI是什么就不介绍了,不明白的可以看下阮一峰的网络日志-持续集成服务 Travis CI 教程,Github公开仓库免费的持续集成工具。
项目根目录添加.travis.yml
,填入以下信息(针对Gradle搭建的Java项目适用)
language: java
sudo: required
dist: xenial
jdk:
- openjdk8
branches:
only:
- master
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
before_install:
- chmod +x gradlew
install:
- ./gradlew jar
script:
- ./gradlew bintrayUpload -PbintrayUser=${bintray_user} -PbintrayKey=${bintray_key} -PdryRun=false
其中变量${bintray_user}
和${bintray_key}
是Travis CI运行时环境变量,请到Travis CI Settings填写。
参考文档
发布开源项目到Jcenter的更多相关文章
- [转]使用Gradle发布Android开源项目到JCenter
转自:http://blog.csdn.net/maosidiaoxian/article/details/43148643 使用Gradle发布Android开源项目到JCenter 分类: G ...
- Android拓展系列(12)--使用Gradle发布aar项目到JCenter仓库
目的 发布自己的android library(也就是aar)到公共的jcenter仓库,所有的人都能用gradle最简单的方式引用. 为什么选择jcenter,它兼容maven,而且支持更多形式仓库 ...
- 发布开源库到JCenter所遇到的一些问题记录
这周末自己瞎折磨了下,如何发布开源库到 JCenter,然后这过程中碰到了一些问题,在此记录分享一下 本篇是基于上一篇:教你一步步发布一个开源库到 JCenter 介绍的流程.步骤中所遇到的问题,所以 ...
- Android 上传开源项目到 jcenter 实战踩坑之路
本文微信公众号「AndroidTraveler」首发. 背景 其实 Android 上传开源项目到 jcenter 并不是一件新鲜事,网上也有很多文章. 包括我本人在将开源项目上传到 jcenter ...
- 使用Gradle发布Android开源项目到JCenter
喜欢做些开源项目的朋友,相信有不少人都希望能把自己的项目发布到公共的中央仓库,如maven中央仓库,以供别人方便地集成使用.而使用了Android Studio的同学,应该也对gradle和jcent ...
- Android studio 使用Gradle发布Android开源项目到JCenter 总结
1.注册账号 先到https://bintray.com注册一个账号. 这个网站支持 github 账户直接登录的 2.获取 bintray.user 和 bintray.apikey ...
- 教你一步步发布一个开源库到 JCenter
今天想来分享下,如何一步步自己发布一个开源库到 JCenter 这方面的博客网上已经特别多了,所以本篇并不打算仅仅只是记录流程步骤而已,而是尽可能讲清楚,为什么需要有这个步骤,让大伙知其然的同时还知其 ...
- 使用Gradle发布项目到JCenter仓库 (转载)
原文:使用Gradle发布项目到JCenter仓库 这篇文章介绍通过Gradle把开源项目发布到公共仓库JCenter中,方便你我他的事情,我们都是很懒的嘛.JCenter现在是Android Stu ...
- 使用Gradle发布SNAPSHOT版本到JCenter(oss.jfrog.org)
回顾历史 发布SNAPSHOT版本的问题 解决问题 完整脚本 使用方法 本文原创. 转载请注明CSDN博客出处: http://blog.csdn.net/maosidiaoxian/article/ ...
随机推荐
- nginx的进程结构实例演示
nginx父子进程之间是使用信号进行管理的. nginx -s reload 会使之前的nginx子进程退出,生成新的nginx子进程 或者kill -SIGHUP 9170 kill -SIGTER ...
- 火狐的一个bug
发现这个bug是因为最近眼睛不太好,所以网页大小都是正常大小的140% 就发现火狐游览器好多网页上的输入框与按钮对不齐 测试代码 <!DOCTYPE html> <html lang ...
- [python之路]格式化显示
格式化显示 格式规范微语言 中文版 以下整理自 python字符串格式化 *输出结果的空格在md预览中没效果(用代码块三个撇号就可以保留格式了) 一.使用格式化符来格式化字符串: Python支持的所 ...
- postman之存储测试结果
前言 在Jmeter的随笔中,我跟大家讲过利用Jmeter工具存储测试结果,那么,postman工具要该如何存储测试结果呢?下面一起来学习吧! 一:添加一个登录请求,填入接口参数点击send 二:点击 ...
- gridFS-Nginx的安装与使用
在使用gridFs的nginx模块时,先确认好你的机器上已经安装好了mongo 首先通过git将最新的gridfs的nginx模块下载到本地 git clone https://github.com/ ...
- 中小企业自建云WAF有多难?只需20分钟!而且:全程免费!
以往,运营型的web为了安全目的,才使用WAF进行安全防护. 而现如今,WAF对企业web来说,已然成了刚需.为何?等保.网络安全法的硬性要求! 当然,这样要求显然是对的:没有网络安全,就没有国家安全 ...
- 01 web api接口
WEB API接口 接口介绍 接口概念:前台与后台进行信息交互的媒介 - url连接 https://api.map.baidu.com/place/v2/search 接口组成: url链接 - 长 ...
- 部署LAMP环境搭建一个网站论坛平台
修改主机名 Hostname openstack-001 Hostname Login 修改本地域名解析 Vi /etc/hosts 最后一行添加 192.168.1.56 openstack-001 ...
- JavaScript节流与防抖函数封装
js节流与防抖函数封装 常见应用场景: window的 resize 和 scroll 事件: 文字输入时的 keyup 事件: 元素拖拽.移动时的 mousemove 事件: 防抖 定义:多次触发事 ...
- Sap Hana 关于BP的一些理解
BP里面有角色和角色分组,角色分组相当于包含多个角色. 客户和供应商使用不同的角色来创建. 创建角色和分组前可以创建自定义的角色类别和角色分组类别. 文档:关于BP.note 链接:笔记 作者:明光烁 ...