WeWorkBuddy

[分享创造] 90 多个模块发版反复超时,于是我写了个 Maven Central 发布插件

最近给框架发版时总卡在 Maven Central 发布那一步:一次要推送 90 多个工件、加起来超过 300MB ,之前一直用的插件走 OSSRH 路径,在这个体积下反复超时,要么手动补发、要么整段重来,非常折腾。 按照 Maven Central 官方的 Publisher API 文档 ,我用 Java 实现了一个 Gradle 发布插件,把正式版收敛成 staging → bundle → 上传 Portal → 轮询部署状态一条命令;又补上了 SNAPSHOT 直接发布,根项目版本号带 -SNAPSHOT 后缀就自动切快照仓库,不用再在两个工具间来回切。 两个自认为对多模块项目有用的取舍: 根项目聚合发布 :一次扫描所有子项目,把它们的 publication 合并进同一次部署,避免同一版本拆成多个部署互相打架; 凭据不在配置阶段求值 :默认按 mavenCentral 身份在任务执行时解析,配置缓存只保存身份; --dry-run 不需要凭据。 如果你也有多模块发布的需求,欢迎试用,有问题可以提 Issue 。 当前版本是 v1.0.1 ,插件不依赖我的框架。源码包、Jav

Read original source
Source page screenshot: [分享创造] 90 多个模块发版反复超时,于是我写了个 Maven Central 发布插件
Source page screenshot · www.v2ex.com

Source record

Research analysis

What changed

Source account: 最近给框架发版时总卡在 Maven Central 发布那一步:一次要推送 90 多个工件、加起来超过 300MB ,之前一直用的插件走 OSSRH 路径,在这个体积下反复超时,要么手动补发、要么整段重来,非常折腾。 按照 Maven Central 官方的 Publisher API 文档 ,我用 Java 实现了一个 Gradle 发布插件,把正式版收敛成 staging → bundle → 上传 Portal → 轮询部署状态一条命令;又补上了 SNAPSHOT 直接发布,根项目版本号带 -SNAPSHOT 后缀就自动切快照仓库,不用再在两个工具间来回切。 两个自认为对多模块项目有用的取舍: 根项目聚合发布 :一次扫描所有子项目,把它们的 publication 合并进同一次部署,避免同一版本拆成多个部署互相打架; 凭据不在配置阶段求值 :默认按 mavenCentral 身份在任务执行时解析,配置缓存只保存身份; --dry-run 不需要凭据。 如果你也有多模块发布的需求,欢迎试用,有问题可以提 Issue 。 当前版本是 v1.0.1 ,插件不依赖我的框架。源码包、Jav

Version & cost evidence

Recent records to compare: “[分享创造] [分享创造] 做了个把游戏录像整理成原型开发计划的小工具” (V2EX, Nov 7, 2026); “Show HN: SpecStream, a web search API for questions with many answers” (Show HN, Nov 7, 2026). Shared themes are navigation hints; they have not been verified as the same need or independent corroboration.

Who is affected

Identify the existing workflow this change affects before recommending an upgrade. Launch attention does not establish improvement; an API, pricing or availability change may instead create migration work.

Missing comparison points

Missing checks: old versus new behavior, affected plans and regions, availability date, compatibility, rollback path and cost under the same workload.

Migration check

Save the release or policy notice, run the same task on the old and new option, and compare outputs and the full bill. For retirement notices, verify the deadline before scheduling migration.