[Gradle中文教程系列]-跟我学Gradle-5.7:依赖-上传与发布番外篇-发布到Jcenter
这是一个使用gradle上传到Jcenter的一个示例
具体步骤 这里写的已经非常明白了 并且提供了多个示例
https://github.com/bintray/gradle-bintray-plugin
本文源码
上传到jcenter至少需要四个文件,除了打包的jar之外,
还需要pom和javadoc,source,否则是通不过jcenter审核的。
下面是博客引文
有时你或许会想发布自己的项目到jcenter来供大家采用gav的形式引用
辣么接下来就是告诉你如何发布自己的项目到jcenter
什么是 Jcenter :Forget about Maven Central
版本信息
JDK : 1.8
Gradle : 2.9
1、前期准备
首先你得去Bintray官方网站去注册一个账号
注册完成后点击编辑Profile获取你的API key
2、编写脚本
因为正常情况下build.gradle还要做一些其它事情,而这里上传的脚本又比较长所以独立出来。
build.gradle
Gradle 2.1+写法:
plugins {id "com.jfrog.bintray" version "1.4"
}
//你的bintray.gradle的相对路径
apply from: 'binary.gradle'
Gradle 2.1-写法:
buildscript {repositories {jcenter()}dependencies {classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.4'}
}
//你的bintray.gradle的相对路径
apply from: 'binary.gradle'
gradle.properties
#JCENTER用户名和API key
BINTRAY_USER=<YOUR USERNAME>
BINTRAY_APIKEY=<YOUR APIKEY>#GAV
GROUP=cn.pkaq
ARTIFACT_ID=ptj.tiger
VERSION_NAME=0.1.0#项目地址相关
POM_URL=http://pkaq.github.io
POM_SCM_URL=https://github.com/pkaq/GradleSide
POM_SCM_CONNECTION=git@github.com:pkaq/GradleSide.git
POM_SCM_DEV_CONNECTION=git@github.com:pkaq/GradleSide.git
#项目相关信息
GIT_URL=https://github.com/pkaq/GradleSide.git
ISSUE_URL=https://github.com/pkaq/GradleSide/issuesPOM_PACKAGING=jar
POM_DESCRIPTION=Tiger say hi~#开源协议
POM_LICENCE_NAME=The Apache Software License, Version 2.0
POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
POM_LICENCE_DIST=repo#开发者信息
POM_DEVELOPER_ID=pkaq
POM_DEVELOPER_NAME=Frank.W
POM_DEVELOPER_EMAIL=pkaq@msn.com
POM_DEVELOPER_URL=http://pkaq.github.io
binary.gradle
//上传到jcenter至少需要四个文件,除了打包的jar之外,
//还需要pom和javadoc,source,否则是通不过jcenter审核的。
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.bintray'
apply plugin: 'java'group = GROUP
version = VERSION_NAMEdef getBintrayUserProperty() {return hasProperty('BINTRAY_USER') ? BINTRAY_USER : ""
}def getBintrayApiKeyProperty() {return hasProperty('BINTRAY_APIKEY') ? BINTRAY_APIKEY : ""
}//根据jcenter的审核要求 必须包含sourceJar和docJar
task sourceJar(type: Jar) {from sourceSets.main.allSourceclassifier = 'sources'
}task javadocJar(type: Jar, dependsOn: javadoc) {classifier = 'javadoc'from javadoc.destinationDir
}
publishing {publications {mavenJava(MavenPublication) {//GAV配置groupId GROUPartifactId ARTIFACT_IDversion VERSION_NAMEfrom components.javaartifact sourceJarartifact javadocJar//pom相关信息pom.withXml {Node root = asNode()root.appendNode('name', ARTIFACT_ID)root.appendNode('description', POM_DESCRIPTION)root.appendNode('url', POM_URL)def issues = root.appendNode('issueManagement')issues.appendNode('system', 'github')issues.appendNode('url', ISSUE_URL)def scm = root.appendNode('scm')scm.appendNode('url', POM_SCM_URL)scm.appendNode('connection', POM_SCM_CONNECTION)scm.appendNode('developerConnection', POM_SCM_DEV_CONNECTION)def license = root.appendNode('licenses').appendNode('license')license.appendNode('name', POM_LICENCE_NAME)license.appendNode('url', POM_LICENCE_URL)license.appendNode('distribution', POM_LICENCE_DIST)}}}
}
// gradle bintrayUpload
bintray {user = getBintrayUserProperty()key = getBintrayApiKeyProperty()publications = ['mavenJava']
// configurations = ['archives']dryRun = falsepublish = truepkg {//你在bintray建立的仓库类型repo = 'maven'//包名name = ARTIFACT_ID//描述desc = POM_DESCRIPTION//站点地址websiteUrl = POM_URL//缺陷提交地址issueTrackerUrl = ISSUE_URL//版本库地址vcsUrl = GIT_URL//许可证licenses = ['Apache-2.0']labels = ['gradle', 'tiger']publicDownloadNumbers = trueversion {//版本号name = VERSION_NAME//版本描述desc = POM_DESCRIPTION}}
}
3、提交待审
调用bintrayUpload上传到Jcenter
gradle -q bU
当bintrayUpload成功之后,
在我的主页https://bintray.com/{your_username}右下部分Latest Activity块,会看到你提交了一个项目,
从这个Latest Activity列表中点击你的项目,
进入详情页https://bintray.com/{your_username}/maven/lesscode-core/view,
找到Maven Central标签,
鼠标放上去它会提示你去提交审核,”To be synced to Maven Central your package needs to be included in the JCenter repository. Click here to get it included.”
点击进入后,随便写什么都可以了。
过审之后在Linked to下面就可以看到多了个Jcenter xxx了
P.S:bintray所有的删除操作都是在edit界面里。
[Gradle中文教程系列]-跟我学Gradle-5.7:依赖-上传与发布番外篇-发布到Jcenter相关推荐
- proguard java 教程,[Gradle中文教程系列]-跟我学Gradle-使用proguard混淆你的spring boot应用...
使用proguard混淆你的spring boot应用 Proguard介绍 安卓开发的同学想必对Proguard都是十分熟悉的,由于java的反编译实在是太容易,使用它可以对java源码进行混淆处理 ...
- [Gradle中文教程系列]-跟我学Gradle-5.2:依赖的分类
依赖的分类 类型 描述 外部依赖 依赖存放于外部仓库中,如jcenter ,mavenCentral等仓库提供的依赖 项目依赖 依赖于其它项目(模块)的依赖 文件依赖 依赖存放在本地文件系统中,基于本 ...
- yolov5使用2080ti显卡训练是一种什么样的体验我通过vscode搭建linux服务器对python-yolov5-4.0项目进行训练,零基础小白都能看得懂的教程。>>>>>>>>>第二章番外篇
第二章番外篇:yolov5通过vscode搭建linux服务器对python-yolov5-4.0项目进行训练,零基础小白都能看得懂的教程.YOLOv5搭建的最快搭建方式,踩坑经历详谈 前期准备: 2 ...
- autohotkey基础教程系列(一) ———— 怎么学,哪里学,有哪些现成的demo
autohotkey基础教程系列(一) ---- 怎么学,哪里学,有哪些现成的demo 引言 这是一门十分有意思的语言. 虽然刚开始看代码的时候会觉得很反人类. 和平时的c,c++,python,c# ...
- eeglab中文教程系列 汇总
eeglab中文教程系列 eeglab简介 教程目录 本教程为脑机学习者Rose发表于公众号:脑机接口社区 .QQ交流群:903290195 eeglab简介 eeglab是一个交互式的matlab工 ...
- eeglab中文教程系列(15)-绘制独立成分ERP贡献
目录 独立成分的ERP 对数据的ERP 的贡献 绘制Component ERP-image 本教程为脑机学习者Rose发表于公众号:脑机接口社区 .QQ交流群:903290195 要完成该操作,必须保 ...
- eeglab中文教程系列(14)-Working with ICA Components
目录 1.绘制component spectra and maps 2.绘制独立成分ERPs 本教程为脑机学习者Rose发表于公众号:脑机接口社区 .QQ交流群:903290195 在本案例前,先要进 ...
- eeglab中文教程系列(6)-数据叠加平均{1}(Data averaging)
目录 1.在头皮图(scalp maps)单轴绘制ERP数据 2.在地形阵列中绘制ERP轨迹(Plotting ERP traces in a topographic array) 3.绘制两列数组的 ...
- linkbot 中文教程系列 linkbot破解教程
linkbot 中文教程系列 一.Linkbot 的作用: Linkbot是一款网站页面链接测试工具,测试每一个链接是否都有对应的页面:页面之间切换是否正确:是否存在空链接:网页图片是否存在:检查 h ...
最新文章
- usaco Combination Lock
- Python开发基础总结之套接字+字符串+正则表达式
- 产业|世界十大工业自动化公司,你知道几家?
- idea配置tomcat必坑指南
- Linux 实现网页劫持,Linux下实现劫持系统调用的总结(上)--代码及实现
- Simpy学习:基本运行与终止(一)
- 写一个方法,用一个for循环打印九九乘法表
- HDU 5974 2016ICPC大连 D: A Simple Math Problem
- 飞腾服务器虚拟化,基于飞腾平台的容器虚拟化技术研究
- 案例 | 上海移动:数字化通向互联网的三个路标
- 【Spring基础】CGLIB动态代理实现原理
- 08-微信公众号素材管理
- 电子邮件的地址格式是怎样的?请说明各部分的意思。
- 简述python模块
- 《鹰猎长空》讲述戏曲与电影的渊源
- android原生组件,RN原生的安卓UI组件
- ubuntu 截图工具flameshot(火焰截图)
- CodeForces - 14E Camels【DP】
- php 简转繁体,PHP将简体汉字转为繁体的方法
- MP3文件分析之ID3v2.3版本