使用Gradle发布构件(Jar)到Maven中央仓库

参考文章

使用Gradle发布构件(Jar)到Maven中央仓库(segmentfault)
使用的插件

发布步骤

1. 注册Sonatype JIRA账号

网址:https://issues.sonatype.org/

2. 安装GPG,并生成秘钥

  1. GPG下载

  2. 使用图形化工具生成秘钥,并上传到服务器(用命令行经常失败原因未知)。

  3. 导出私钥(此处用例放于C盘:C:\secret.gpg)

    gpg --export-secret-keys [密钥指纹] > secret.gpg
    

3. 配置插件相关信息(https://github.com/vanniktech/gradle-maven-publish-plugin)

3.1 在用户目录下~/.gradle/gradle.properties添加相关秘钥以及sonatype信息

mavenCentralUsername=${sonatype登录账号名}
mavenCentralPassword=${sonatype登录密码}

signing.keyId=12345678
signing.password=123123
signing.secretKeyRingFile=C:\\secret.gpg

3.2 在项目根目录gradle.properties添加相关插件配置(此处以我的私人项目okhttputils)

org.gradle.java.home=C:\\Program Files\\Android\\Android Studio\\jre
SONATYPE_HOST=S01
RELEASE_SIGNING_ENABLED=true
OSSRH_PACKAGE_GROUP=io.github.kigkrazy
GROUP=io.github.kigkrazy
VERSION_NAME=3.3.4
POM_PACKAGING=jar
POM_INCEPTION_YEAR=2018
POM_URL=https://github.com/kigkrazy/okhttputils/
POM_SCM_URL=https://github.com/kigkrazy/okhttputils/
POM_SCM_CONNECTION=scm:git:git://github.com/kigkrazy/okhttputils.git
POM_SCM_DEV_CONNECTION=scm:git:ssh://git@github.com/kigkrazy/okhttputils.git
POM_LICENCE_NAME=The Apache Software License, Version 2.0
POM_LICENCE_URL=https://www.apache.org/licenses/LICENSE-2.0.txt
POM_LICENCE_DIST=repo
POM_DEVELOPER_ID=okhttputils
POM_DEVELOPER_NAME=kigkrazy
POM_DEVELOPER_URL=https://github.com/kigkrazy/

3.3 在上传模块的gradle.properties添加如下配置

POM_ARTIFACT_ID=okhttputils
POM_NAME =okhttputils

3.3 在上传模块的bulid.gradle添加如下配置

...
apply plugin: "com.vanniktech.maven.publish"
...

3.4 在项目根目录的bulid.gradle添加如下配置

buildscript {
  repositories {
    mavenCentral()
  }
  dependencies {
    classpath 'com.vanniktech:gradle-maven-publish-plugin:0.21.0'
  }
}

4. 执行发布命令

gradlew publish