记录Bintray网站发布Library

2024-09-04 17:58

本文主要是介绍记录Bintray网站发布Library,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

记录Bintray网站发布Library

Bintray其实只是一个网站,他们负责维护JCenter这个库,也就是说JCenter库是托管在BIntray网站上的。但是Bintray不只是只有JCenter库。我们也可以在上面创建自己的账号,生成自己的maven仓库。

现在的android studio默认依赖的就是jcenter库,但是老版本的android studio依赖的是mavenCentral库(因为上传库到mavenCentral对大部分开发者来说有点难,所以改成了jcenter)。
我们可以在工程的build.gradle文件下看到

这里写图片描述
默认的依赖库.png

好了 废话不多说、开始上手。


注册账号到Bintray

  • https://bintray.com,首先需要在这个网站上注册一个账号、这里写图片描述
    Paste_Image.png

我这里直接用的github账号登录,但是需要邮箱验证。注意这里不能使用qq邮箱,网易邮箱注册,可以用谷歌邮箱,个人用的是foxmail(qq邮箱的另外一个名字)。

注册成功之后就是这样的:
这里写图片描述
Paste_Image.png

然后我们要创建我们的仓库了,类似与github的仓库。
这里写图片描述
创建仓库.png
然后填写相应的信息就OK了,注意type要选择maven,还要如果你想非你的组织的人可以使用的话,需要选择public。这里写图片描述
Paste_Image.png
然后在仓库里面添加一个包。用于存储我们要发布的jar包。这里写图片描述
Paste_Image.png
然后填写相关信息,如图:
这里写图片描述
Paste_Image.png

完成之后,我们的准备工作就完成了。~

项目编译,发布

首先我们肯是需要一个已经写好的library。项目结构如下:

这里写图片描述
Paste_Image.png

如果没有也没关系,我们可以新建一个library,充分调试后(如果你只是想了解如何发布到bintry上的话,在library写一个测试方法即可),将其作为要发布的jar包。这里写图片描述
Paste_Image.png
好了,重头戏来了,我们要在android stduio中搭建我们的上传环境了。

  • 在本工程的build.gradle文件中添加下面的代码:
  classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.6'  

在文件中的位置如图:注意,这里可能存在版本的问题,如果出现版本不对的话,尝试用最新版。
这里写图片描述
Paste_Image.png

  • 在library项目下添加bintrayUpload.gradle文件,文件内容如下:
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
// This is the library version used when deploying the artifact
version = "1.0.1"//这里是你的版本,当你需要上传新的版本到bintry上时,只需要修改这里的版本即可def siteUrl = 'https://git.oschina.net/crazycodeboy/ScanProj'      // 项目的主页
def gitUrl = 'https://git.oschina.net/crazycodeboy/ScanProj.git'   // Git仓库的url
group = "reoger.hut.com.mylibrary"                                        // Maven Group ID for the artifact,一般填你唯一的包名
install {repositories.mavenInstaller {// This generates POM.xml with proper parameterspom {project {packaging 'aar'// Add your description herename 'multi-format 1D/2D barcode image processing use zxing.'url siteUrl// Set your licenselicenses {license {name 'The Apache Software License, Version 2.0'url 'http://www.apache.org/licenses/LICENSE-2.0.txt'}}developers {developer {id 'you id'     //填写的一些基本信息(也可以不填)name 'your name'email 'your email'}}scm {connection gitUrldeveloperConnection gitUrlurl siteUrl}}}}
}
task sourcesJar(type: Jar) {from android.sourceSets.main.java.srcDirsclassifier = 'sources'
}
task javadoc(type: Javadoc) {source = android.sourceSets.main.java.srcDirsclasspath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
task javadocJar(type: Jar, dependsOn: javadoc) {classifier = 'javadoc'from javadoc.destinationDir
}
artifacts {archives javadocJararchives sourcesJar
}
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {user = properties.getProperty("bintray.user")key = properties.getProperty("bintray.apikey")configurations = ['archives']pkg {userOrg ="hut"//这个地方一定要填,一定要填 !!(这里需要修改你申请账号是的组织id)repo = "Maven"//发布到bintray上的仓库名name = "CheckEditText"  //发布到bintray上的包名websiteUrl = siteUrlvcsUrl = gitUrllicenses = ["Apache-2.0"]publish = true}
}
javadoc { //jav doc采用utf-8编码否则会报“GBK的不可映射字符”错误options{encoding "UTF-8"charSet 'UTF-8'}

这里需要对其进行说明:
必改的内容有:
这里写图片描述
Paste_Image.png
userOrg填写你的组织Id,可以在如图的界面找到相信的信息。
这里写图片描述
Paste_Image.png
repo填写你的仓库名,name填写你的包名,可以在如图所示的地方找到相应的信息。
这里写图片描述
Paste_Image.png

  • 填写完毕之后,需要在library的build.gradle文件中添加一句:
apply from: "bintrayUpload.gradle"

最后,我们需要在项目的local.properties填写我们的身份信息。添加下面这两句到我们的目录下:

bintray.user=用户名
bintray.apikey=xxxxxxxxxxxxxxxxxx

用户名可以在这里找到
这里写图片描述
Paste_Image.png
apiKey在这里找:
这里写图片描述
Paste_Image.png
这里写图片描述
Paste_Image.png
好了,上面的工作完成之后,我们离成功已经不太远了。

接下来在termial中输入命令:

gradlew install

如果没有错误的话,会提示BUILD SUCCESSEUL,然后我们在输入:

gradlew bintrayUpload

这里写图片描述
Paste_Image.png
成功!~
去网站上看一看~:
这里写图片描述
Paste_Image.png

添加依赖到项目中

发布之后,我们就可以将他引入到我们的项目中了。

在要引入项目的build.gradle目录下,添加依赖:

maven { url 'https://hut.bintray.com/Maven' }

这里写图片描述
Paste_Image.png
其中的url就是我们的组织地址。
这里写图片描述
Paste_Image.png
然后,在我们要依赖的moudle下,添加我们需要的依赖,例如:
这里写图片描述
Paste_Image.png
这个可以在这里找到:
这里写图片描述
Paste_Image.png
然后就可以使用我们之前写好的功能了~!!。

简单发布写法

-root build.gradle 中的dependencies块中添加如下:

  classpath 'com.novoda:bintray-release:0.5.0'//修改此处版本号为 0.5.0---修改之前是0.3.4

-root build.gradle 中的allprojects中添加如下:

	repositories {jcenter()mavenCentral()}tasks.withType(Javadoc) {options {encoding "UTF-8"charSet 'UTF-8'links "http://docs.oracle.com/javase/7/docs/api"}options.addStringOption('Xdoclint:none', '-quiet')}

这里写图片描述
Paste_Image.png

在要发布的lib module 的build.gradle中加入

apply plugin: 'com.novoda.bintray-release'-如果是项目的要注意下,要将apply plugin: 'com.android.application'
改成apply plugin: 'com.android.library'

这里写图片描述
Paste_Image.png
library的build.gradle中添加

//添加
publish {userOrg = 'xxx'      //bintray 如果有组织就是组织名,反之用户名repoName = 'maven' //仓库名uploadName = 'GameSDK' //项目名groupId = 'com.test'         //compile引用时的第1部分groupIdartifactId = 'game-sdk'     //compile引用时的第2部分项目名publishVersion = '1.0.0'    //compile引用时的第3部分版本号desc = 'This is a game sdk extend library'website = '网站网址或者github地址'licences = ['Apache-2.0']
}生成后的依赖地址:compile 'com.test:game-sdk:1.0.0'
/***注:发布成功后:* 1、在要引入项目的 build.gradle目录下,添加依赖:* repositories {*       maven {*          url 'https://userOrg.bintray.com/maven'*     }//指定自己的maven路径{https://xxxx.bintray.com/maven},在未将library加入的jcenter中前,这是必须的//userOrg 如果有组织就是组织名,反之用户名*  }**  2、在dependencies中添加依赖:*  compile 'com.test:game-sdk:1.0.0'*/

-打包发布时依然可如下写法:

gradlew clean build bintrayUpload -PbintrayUser=用户名 -PbintrayKey=apiKey -PdryRun=false

这篇关于记录Bintray网站发布Library的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1136625

相关文章

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令

maven发布项目到私服-snapshot快照库和release发布库的区别和作用及maven常用命令 在日常的工作中由于各种原因,会出现这样一种情况,某些项目并没有打包至mvnrepository。如果采用原始直接打包放到lib目录的方式进行处理,便对项目的管理带来一些不必要的麻烦。例如版本升级后需要重新打包并,替换原有jar包等等一些额外的工作量和麻烦。为了避免这些不必要的麻烦,通常我们

禅道Docker安装包发布

禅道Docker安装包发布 大家好, 禅道Docker安装包发布。 一、下载地址 禅道开源版:   /dl/zentao/docker/docker_zentao.zip  备用下载地址:https://download.csdn.net/download/u013490585/16271485 数据库用户名: root,默认密码: 123456。运行时,可以设置 MYSQL_ROOT_P

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图

49个权威的网上学习资源网站

艺术与音乐 Dave Conservatoire — 一个完全免费的音乐学习网站,口号是“让每一个人都可以接受世界级的音乐教育”,有视频,有练习。 Drawspace — 如果你想学习绘画,或者提高自己的绘画技能,就来Drawspace吧。 Justin Guitar — 超过800节免费的吉他课程,有自己的app,还有电子书、DVD等实用内容。 数学,数据科学与工程 Codecad

BT天堂网站挂马事件后续:“大灰狼”远控木马分析及幕后真凶调查

9月初安全团队披露bt天堂网站挂马事件,该网站被利用IE神洞CVE-2014-6332挂马,如果用户没有打补丁或开启安全软件防护,电脑会自动下载执行大灰狼远控木马程序。 鉴于bt天堂电影下载网站访问量巨大,此次挂马事件受害者甚众,安全团队专门针对该木马进行严密监控,并对其幕后真凶进行了深入调查。 一、“大灰狼”的伪装 以下是10月30日一天内大灰狼远控的木马样本截图,可以看到该木马变种数量不