/gradle-maven

Primary LanguageJavaApache License 2.0Apache-2.0

Gradle发布MavenCenterNexus私服插件

基于Java语言与Gradle Api开发的Gradle Plugin,本Gradle插件可以让你的library发布到MavenCenter和自己的nexus私服变得非常容易。 内置了阿里云Maven**仓库,其中配置了aliyun代理的centraljcentergoogle

gradle-publish-plugin.png

一、最新版本(根目录build.gradle)

classpath("io.github.szhittech:gradle-maven:0.0.9")

二、功能简介

  • 支持发布多种类型的库, 例如:JavaAndroidKotlin
  • 支持在新的gradle中依赖方式 api / implementation
  • 支持签名库资源,包括sourcesJavadocPOM(需要Gradle Version >= 4.8
  • 本插件内置了signing签名信息与文件(secring.gpg)

三、使用步骤

1. 在根目录build.gradle中新增如下代码

classpath("io.github.szhittech:gradle-maven:0.0.9")

2. 在library/build.gradle中新增如下代码

apply plugin: 'gradle.maven'

四、发布MavenCenter步骤

1. 配置根目录下gradle.properties

如果发布到MavenCenter,该文件无需配置

2. 配置library/build.gradle

ext {
  groupId = "io.github.szhittech"
  name = "gradle-maven"
  version = "0.0.0-SNAPSHOT"
  description = "A Gradle Plugin For Java、Android、Kotlin."
  url = "https://e.coding.net/clife-devops/clifepublic/gradle-maven.git"
  connection = "scm:git@github.com:szhittech/clifesdk.git"
  authorId = "uuxia"
  authorName = "xiamoumou"
  authorEmail = "xxx@clife.com"
}

参数 必选 描述
groupId 项目组织唯一的标识符
name 项目名称
version 项目版本。有-SNAPSHOT发布快照,没有发布release
description 项目描述
url 项目地址
connection 项目地址
authorId 作者ID
authorName 作者姓名
authorEmail 作者邮箱

3. 执行发布任务

发布Maven

如上图,点击uploadToMaven,即可将库发布到MavenCenter

发布MavenCenter成功后 Release版步审核步骤如下:

  1. 上述步骤成功后,请登录https://s01.oss.sonatype.org/;
  2. 页面左侧栏点击Build Promotion->Staging Repositories
  3. Staging Repositories选项卡可以看到刚提交的release版本库,如:iogithubszhittect-xxxx;
  4. 勾选iogithubszhittect-xxxx,点击Close
  5. 稍等几十秒 Refresh,再次勾选iogithubszhittect-xxxx,点击Release,即可发布成功,等待大概4小时;

4. 自定Maven oss账号配置

因本插件与groupId = "io.github.szhittech"绑定,如果用户需要添加自己的groupid,则需要在gradle.properties配置Maven oss账号

Maven oss账号注册,请至https://s01.oss.sonatype.org/注册

gradle.properties配置如下:

maven.name=maven
maven.username=你的oss账号
maven.password=你的oss密码
maven.release=https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/
maven.snapshot=https://s01.oss.sonatype.org/content/repositories/snapshots/

五、发布Nexus私服步骤

1. 配置根目录下gradle.properties

nexus.name=coding
coding.username=xiaoli.xia@clife.cn
coding.password=xxxxxx
coding.snapshot=https://clife-devops-maven.pkg.coding.net/repository/public-repository/maven-snapshots/
coding.release=https://clife-devops-maven.pkg.coding.net/repository/public-repository/maven-releases/
参数 必选 描述
nexus.name 自定义前缀名称,本例coding,下面字段就都以coding为前缀
coding.username 私服用户名
coding.password 私服密码
coding.snapshot 私服快照版上传地址
coding.release 私服release版上传地址

2. 配置library/build.gradle

ext {
  groupId = "io.github.szhittech"
  name = "gradle-maven"
  version = "0.0.0-SNAPSHOT"
  description = "A Gradle Plugin For Java、Android、Kotlin."
  url = "https://e.coding.net/clife-devops/clifepublic/gradle-maven.git"
  connection = "scm:git@github.com:szhittech/clifesdk.git"
  authorId = "uuxia"
  authorName = "xiamoumou"
  authorEmail = "xxx@clife.cn"
}

参数 必选 描述
groupId 项目组织唯一的标识符
name 项目名称
version 项目版本。有-SNAPSHOT发布快照,没有发布release
description 项目描述
url 项目地址
connection 项目地址
authorId 作者ID
authorName 作者姓名
authorEmail 作者邮箱

3. 执行发布任务

发布Maven

如上图,点击uploadToCoding,即可将库发布到Nexus私服

注意:这里的Coding就是上文自定义的前缀(nexus.name)

友情链接:

1. android发布三方库到远程maven仓库详细教程

2. 发布Android Lib到Maven Central