[Gradle中文教程系列]-跟我学Gradle-5.7:依赖-上传与发布番外篇-发布到Jcenter
来源:互联网 发布:浙江人事考试机考网络 编辑:程序博客网 时间:2024/05/18 00:01
这是一个使用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 keyBINTRAY_USER=<YOUR USERNAME>BINTRAY_APIKEY=<YOUR APIKEY>#GAVGROUP=cn.pkaqARTIFACT_ID=ptj.tigerVERSION_NAME=0.1.0#项目地址相关POM_URL=http://pkaq.github.ioPOM_SCM_URL=https://github.com/pkaq/GradleSidePOM_SCM_CONNECTION=git@github.com:pkaq/GradleSide.gitPOM_SCM_DEV_CONNECTION=git@github.com:pkaq/GradleSide.git#项目相关信息GIT_URL=https://github.com/pkaq/GradleSide.gitISSUE_URL=https://github.com/pkaq/GradleSide/issuesPOM_PACKAGING=jarPOM_DESCRIPTION=Tiger say hi~#开源协议POM_LICENCE_NAME=The Apache Software License, Version 2.0POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txtPOM_LICENCE_DIST=repo#开发者信息POM_DEVELOPER_ID=pkaqPOM_DEVELOPER_NAME=Frank.WPOM_DEVELOPER_EMAIL=pkaq@msn.comPOM_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 = GROUPversion = VERSION_NAMEdef getBintrayUserProperty() { return hasProperty('BINTRAY_USER') ? BINTRAY_USER : ""}def getBintrayApiKeyProperty() { return hasProperty('BINTRAY_APIKEY') ? BINTRAY_APIKEY : ""}//根据jcenter的审核要求 必须包含sourceJar和docJartask sourceJar(type: Jar) { from sourceSets.main.allSource classifier = 'sources'}task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir}publishing { publications { mavenJava(MavenPublication) { //GAV配置 groupId GROUP artifactId ARTIFACT_ID version VERSION_NAME from components.java artifact sourceJar artifact 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 bintrayUploadbintray { user = getBintrayUserProperty() key = getBintrayApiKeyProperty() publications = ['mavenJava']// configurations = ['archives'] dryRun = false publish = true pkg { //你在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 = true version { //版本号 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
- [Gradle中文教程系列]-跟我学Gradle-5.5:依赖-构件的上传与发布
- [Gradle中文教程系列]-跟我学Gradle-5.4:依赖-依赖的更新与缓存
- [Gradle中文教程系列]-跟我学Gradle-5.4:依赖-依赖的更新与缓存
- [Gradle中文教程系列]-跟我学Gradle-5.1:依赖的坐标与范围
- [Gradle中文教程系列]-跟我学Gradle-5.0:依赖-关于依赖管理
- [Gradle中文教程系列]-跟我学Gradle-5.6:依赖-依赖报告和冲突的解决
- [Gradle中文教程系列]-跟我学Gradle-5.2:依赖的分类
- 0.[Gradle中文教程系列]跟我学Gradle-目录
- [Gradle中文教程系列]-跟我学Gradle-4.1:Nexus私服的安装与配置
- 1.[Gradle中文教程系列]跟我学Gradle-Gradle的概述、简介和优势
- 2.[Gradle中文教程系列]跟我学Gradle-下载和安装Gradle
- [Gradle中文教程系列]-跟我学Gradle-附录:gradle命令行详解
- [Gradle中文教程系列]-跟我学Gradle-14.1:Gradle IDEA集成插件的使用
- [Gradle中文教程系列]-跟我学Gradle-附录-2.Gradle的日志级别
- [Gradle中文教程系列]-跟我学Gradle-5.3:依赖-管理依赖的版本(传递(transitive)\排除(exclude)\强制(force)\动态版本(+))
- [Gradle中文教程系列]-跟我学Gradle-5.3:依赖-管理依赖的版本(传递(transitive)\排除(exclude)\强制(force)\动态版本(+))
- [Gradle中文教程系列]-跟我学Gradle-8.1-多模块项目 - 概述
- LeetCode OJ-74.Search a 2D Matrix
- WCF常见问题记忆
- 迟来的2016总结
- Ubuntu 14 Caffe配置教程(cuda7.5+cuDnn v5)
- [bzoj4710][JSOI2011]分特产
- [Gradle中文教程系列]-跟我学Gradle-5.7:依赖-上传与发布番外篇-发布到Jcenter
- HDU - 3709 数位dp
- The zen of kobjects (linux kobjects 要旨)
- linux终端快捷键
- JDBC中的SQL注入问题
- 1.16防止双击onclick
- String StringBuffer StringBuider 的区别
- 从零开始搭建VUE基础框架
- 跳槽次数有点多,简历该这样写!