本文基于sonatypeUploader
2.0版本
在1.0版本我们还需要手动去添加maven-publish
和signing
插件,在2.0版本他已经内置了,如果你仍然需要手动配置,你可以手动添加这两个插件及逻辑。
具体信息参考开源仓库:
- 插件仓库:https://github.com/jeadyx/SonatypeUploader
- 插件的使用范例:https://github.com/jeadyx/SonatypeUploaderSample
发布步骤
-
默认你已经有了sonatype账号并拥有了一个合法的nameSpace; 并且生成了usertoken
注:如果没有,请参考1.0博文的生成步骤: 传送门 -
导入插件
plugins {
id("org.jetbrains.dokka") version "1.9.20" // kotlin代码生成javadoc的插件,不需要的话可以注释
id("io.github.jeadyx.sonatype-uploader") version "2.0"掉
}
- 配置插件信息
// 以`io.github.jeady5:$moduleName:1.0`为例
group = "io.github.jeady5"
version = "1.0"
sonatypeUploader {
tokenName = "tokenUser"
tokenPasswd = "tokenUserPasswd"
pom = Action<MavenPom>{
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
附: 同步后会生成5个任务
- 0.test bundle dir
在本地生成要上传的工件目录,位置在模块的build\sonayUploader
目录里面 - 1.upload deployment dir
上传刚生成的目录到sonatype 中心仓库 - 2.check deployment status
上传的目录会进行合法性验证,此任务将返回校验状态,只有验证通过的才能发布,否则只能删除;
要想知道具体失败原因,参考:https://central.sonatype.com/publishing/deployments - 3.delete deployment
删除刚上传的工件 - 4.publish deployment
发布刚上传的工件,不可取消 - uploadToSonatype
一键发布
后记
如果对你有帮助,请star仓库:SonatypeUploader
如果有什么问题,请提交issure