本文基于sonatypeUploader 2.6
版本
- 插件的使用实例:https://github.com/jeadyx/SonatypeUploaderSample
发布步骤
-
提前准备好
sonatype
账号和signing
配置
注:如果没有,请参考1.0博文的生成步骤: https://jeady.blog.csdn.net/article/details/139945691 -
导入插件
plugins {
id("org.jetbrains.dokka") version "1.9.20" // kotlin代码生成javadoc的插件,不需要的话可以注释掉
id("io.github.jeadyx.sonatype-uploader") version "2.6"
}
- 配置插件信息
// 以`io.github.jeady5:$moduleName:1.0`为例
group = "io.github.jeady5"
version = "1.0"
sonatypeUploader {
tokenName = "tokenUser" // 在sonatype中`View Account`页面进行生成: https://central.sonatype.com/account
tokenPasswd = "tokenUserPasswd"
// signing = Action<UploaderSigning> { // 如果已配置signing插件,此代码可以忽略;如果是gradle小白或测试用可以在这里填写签名信息进行测试,为了安全推荐使用`gradle.properties`文件
// keyId="F56168C8"
// keyPasswd="123123"
// secretKeyPath="E:\\gpg\\jeady_0xF56168C8_SECRET.gpg"
// }
pom = Action<MavenPom>{ // 配置pom信息,必须项; 改成你自己的信息即可,不知道的网址可以填自己的仓库地址。
name = "My Library"
description = "A concise description of my library greennbg"
url = "http://www.example.com/library"
licenses {
license {
name = "The Apache License, Version 2.0"
url = "http://www.apache.org/licenses/LICENSE-2.0.txt"
}
}
developers {
developer {
id = "jeady"
name = "jeady"
email = "jeady@example.com"
}
}
scm {
connection = "scm:git:git://example.com/my-library.git"
developerConnection = "scm:git:ssh://example.com/my-library.git"
url = "http://example.com/my-library/"
}
}
}
sync
项目gradle publishToSonatype
任务说明
-
1.createDeploymentDir
在本地生成要上传的工件目录,位置默认在模块的build\sonayUploader
目录里面 -
1.uploadDeploymentDir
上传刚生成的目录到sonatype 中心仓库 -
3.publishDeployment
发布刚上传的工件,不可取消 -
checkDeploymentStatus
检查刚上传组件的状态
如果状态为FAILED, 请根据提示信息进行更改,博主遇到了两个 -
版本已存在: 更新版本解决
-
校验签名失败: 查看本地签名文件是否已上传公共服务器
-
cleanLocalDeploymentDir
删除本地生成的临时工件目录 -
deleteDeployment
删除刚上传的工件 -
publishToSonatype
一键发布
注意事项
- 记得将公钥上传到公共服务器
可用的公钥管理服务器有:- https://keyserver.ubuntu.com
- https://keys.openpgp.org
- https://pgp.mit.edu
如果你使用的是GnuPG, 还可以在gui中进行操作,右键证书有个在服务器发布
:
后记
如果对你有帮助,请star仓库:SonatypeUploader
使用中如果有什么问题,请提交issue
、评论、私信