Skip to content

chore: Maven Central 发布范围收窄至客户端 SDK 链,server/console 改经 GitHub Releases - #13

Merged
LamSpace merged 1 commit into
masterfrom
chore/publish-scope-client-only
Oct 1, 2026
Merged

LamSpace merged 1 commit into
masterfrom
chore/publish-scope-client-only

Conversation

@LamSpace

@LamSpace LamSpace commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

概要

Maven Central 发布范围收窄为仅客户端 SDK 链:根 POM + openlatch-protocol + openlatch-client + openlatch-spring-boot-starter。openlatch-server / openlatch-console / openlatch-core 退出中央仓库发布束;服务端与控制台可执行 jar 改经 GitHub Releases 资产分发。

配套动作(合并前后均需完成一次):创建 v1.0.0 Release 并上传两枚 executable jar。两枚 jar 已在 /tmp/openlatch-release/ 暂存(自 repo1.maven.org 拉取,sha256 已对照 Central 官方校验文件逐字节验证一致),执行:

gh release create v1.0.0 --repo LamSpace/OpenLatch --title "OpenLatch 1.0.0" \
  --notes-file /tmp/openlatch-release/release-notes.md \
  /tmp/openlatch-release/openlatch-server-1.0.0-executable.jar \
  /tmp/openlatch-release/openlatch-console-1.0.0-executable.jar

(若 /tmp 暂存已失效,先按 release-notes 中的 sha256 自 Central 重新下载校验。)文档中的 releases/download/v1.0.0/... 链接在 Release 创建前为断链,故 Release 宜先于/随本 PR 合并落地。

理由

  • Central 应只承载按坐标解析的库构件;应用 fat jar(实测两枚 executable 共 78.8MiB,占 1.0.0 全仓库 92.8%)不可删、逐版本冻结,长期是负债。
  • openlatch-core 仅被 server compile 依赖,server 退出后无在架 POM 引用,随之一并排除。
  • client/starter 对 server 只有 test scope(消费者不解析),SDK 链完整性不受影响。
  • 每版发布体量:84.9 MiB → 3.7 MiB。

变更清单

  • pom.xml:release profile excludeArtifacts +3(core/server/console),注释重写为双渠道口径
  • README.md / README_CN.md:构件行双渠道表述;单节点下载改 Releases + curl
  • docs/guide/{en,zh}/02-quickstart.md:取构件 Releases 为主、源码构建为备;清掉"中央仓库发布前"过时句
  • docs/guide/{en,zh}/07-admin-console.md:部署段加 Releases 下载
  • docs/guide/{en,zh}/10-compatibility.md:中央仓库行 → 构件分发双渠道行

验证

  • mvn -Prelease -Dgpg.skip=true -DskipTests deploy -DskipPublishing=true:全反应堆 BUILD SUCCESS;逐模块判定仅 4 件进入发布候选,core/server/console/examples 零候选
  • check-source-citations.sh 零命中
  • 全仓 grep 无残留 repo1 服务/控制台直链、无 openlatch-* 通配宣称
  • 待下次 -Prelease deploy:发布束仅含 4 构件

…与控制台改经 GitHub Releases 分发

决策依据:Central 仅承载消费者按坐标解析的库构件,即根 POM(parent)+ openlatch-protocol + openlatch-client + openlatch-spring-boot-starter。server 与 console 属应用发行件,其 fat executable jar(1.0.0 实测 30.6+51.9MB,占全仓库 92.8%)一经发布永不可删、逐版本再冻结,中央仓库长期承载属纯负债;core 仅为 server 的 compile 传递依赖,server 退出后无任何在架 POM 引用它,随之一并排除。收窄后每版发布体量 84.9MiB→3.7MiB。client/starter 对 server 仅 test scope,消费者不解析,不受影响;GitHub 上 examples 的独立构建路径由指南保留源码构建口径兜底。

变更:根 pom release profile excludeArtifacts 增列 openlatch-core/server/console(与 examples 同机制,maven.deploy.skip 不被 central-publishing 插件尊重),profile 注释重写为双渠道分发口径。文档同步(双语):README 要求表构件行改双渠道表述、单节点服务器下载由 repo1 直链改 Releases+curl;guide 02 取构件步骤改 Releases 为主、源码构建为备(清掉"中央仓库发布前"过时句),启动步骤注明两种 jar 路径;guide 07 部署段加 Releases 下载;guide 10 "中央仓库"行改"构件分发"双渠道。文档引用 v1.0.0 Release 资产(server/console executable jar,自 Central 拉取并 sha256 校验逐字节一致后上传)。

验证:deploy -DskipPublishing 发布束演练全反应堆 BUILD SUCCESS,逐模块判定仅四件进入发布候选、core/server/console/examples 零候选(排除生效);check-source-citations 门禁零命中;全仓 grep 无残留 repo1 服务/控制台直链与 openlatch-* 通配宣称。
@LamSpace
LamSpace merged commit 545cce5 into master Oct 1, 2026
2 checks passed
@LamSpace
LamSpace deleted the chore/publish-scope-client-only branch October 1, 2026 06:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant