SuperAPI AI 工具集

kotlin-maven-central-publish

部署与运维

查看项目

更新于 10-16 08:53

技能介绍

用途 该技能为 Kotlin/KMP 项目添加 Maven Central 公开配置。它基于 Vanniktech Maven Publish 插件,通过 buildSrc convention plugin、GPG 签名和 GitHub Actions CI/CD 工作流实现自动化发布,并针对 Sonatype Central Portal 进行设置。

主要能力 按步骤引导完成配置:

  1. 收集项目信息,包括 Maven Group ID、制品版本、许可证(默认 MIT License)、GitHub 仓库 URL、开发者信息以及需要公开的子模块。
  2. 在 gradle/libs.versions.toml 中添加 Vanniktech Maven Publish 插件(版本 0.30.0)。
  3. 配置 buildSrc:在 buildSrc/build.gradle.kts 中添加插件依赖,并创建 buildSrc/src/main/kotlin/publish-convention.gradle.kts,替换项目描述、GitHub URL、起始年份、许可证、开发者信息、GitHub owner/repo 等占位符。
  4. 在公开目标模块的 build.gradle.kts 中应用 publish-convention 插件,并设置 group 与 version。
  5. 创建 .github/workflows/publish.yml,该工作流在 GitHub Release 创建时(released / prereleased)自动执行,也支持手动 workflow_dispatch,执行 publishAndReleaseToMavenCentral 任务。
  6. 通过 ./gradlew publishToMavenLocal 进行本地验证,确认产物生成在 ~/.m2/repository/<group-path>/。
  7. 引导用户完成手动设置:生成 GPG 密钥、在 Sonatype Central Portal 创建账号并注册 namespace、生成 User Token,在 GitHub 仓库注册 5 个 Secrets(MAVEN_CENTRAL_USERNAME、MAVEN_CENTRAL_PASSWORD、SIGNING_KEY_ID、SIGNING_PASSWORD、GPG_KEY_CONTENTS),并通过创建 GitHub Release 测试发布工作流。

使用方式 该技能以步骤化指令形式使用,通过 SKILL 文件与示例模板(example 目录下的 build 脚本、convention 脚本和 workflow 文件)协同工作。前提条件为:Kotlin 项目(KMP 或 JVM)、Gradle 加 version catalog(gradle/libs.versions.toml)、存在或可创建 buildSrc/ 目录,并且项目托管在 GitHub。

适用场景 适用于需要将 Kotlin 或 KMP 库发布到 Maven Central 的开发者,尤其是希望借助 convention plugin 与 GitHub Actions 统一管理多个模块发布流程的项目。

限制 具体收费、价格或平台信息暂未提供。该技能面向 GitHub 托管的项目,需要用户自行完成 GPG 与 Sonatype Central Portal 的账号及密钥配置,相关配置不属于技能自动执行范围。