• TAKETODAY

    最近给框架发版时总卡在 Maven Central 发布那一步:一次要推送 90 多个工件、加起来超过 300MB ,之前一直用的插件走 OSSRH 路径,在这个体积下反复超时,要么手动补发、要么整段重来,非常折腾。

    按照 Maven Central 官方的 Publisher API 文档,我用 Java 实现了一个 Gradle 发布插件,把正式版收敛成 staging → bundle → 上传 Portal → 轮询部署状态一条命令;又补上了 SNAPSHOT 直接发布,根项目版本号带 -SNAPSHOT 后缀就自动切快照仓库,不用再在两个工具间来回切。

    两个自认为对多模块项目有用的取舍:

    - 根项目聚合发布:一次扫描所有子项目,把它们的 publication 合并进同一次部署,避免同一版本拆成多个部署互相打架;

    - 凭据不在配置阶段求值:默认按 mavenCentral 身份在任务执行时解析,配置缓存只保存身份;--dry-run 不需要凭据。

    如果你也有多模块发布的需求,欢迎试用,有问题可以提 Issue 。

    当前版本是 v1.0.1 ,插件不依赖我的框架。源码包、Javadoc 、POM 元数据和签名需要在项目中自行配置,完整用法见仓库 README 。

    - 插件: https://plugins.gradle.org/plugin/cn.taketoday.maven-central-publishing

    - 仓库: https://github.com/TAKETODAY/maven-central-publishing-gradle-plugin

    - 项目: https://github.com/TAKETODAY/today-infrastructure

    主楼
  • TAKETODAY

    plugins {
    id 'cn.taketoday.maven-central-publishing' version '1.0.1'
    }

    #1

发表回复

登录后回复