用途:为 io.github.easy4j 组织仓库(如 openclaw-java-sdk、okhttp3-extension、openclaw-spring-boot-starter)提供标准发布流程与多分支 Maven 发布规范。
主要能力:SDK 三分支(feature/1.0.x=JDK8、feature/2.0.x=JDK17、feature/3.0.x=JDK21)正式版发布;Starter 十分支(2.3.x 至 4.1.x)发布;版本号格式 {major}.0.x.{yyyyMMdd},Tag 名即正式版本号;发布后分支 SNAPSHOT 按月推进(如 20260630-SNAPSHOT → 20260730-SNAPSHOT)。
使用方式:单分支序列为去 SNAPSHOT(mvn versions:set -DnewVersion=... -DgenerateBackupPoms=false)→ JAVA_HOME=<对应JDK> mvn clean deploy -P release -DskipTests → git tag -a 版本号 并推送 → bump 下月 SNAPSHOT → 推分支。可用 scripts/release-sdk.sh 与 scripts/release-starter.sh 一键执行,脚本带分支白名单、仓库类型守卫、DRY_RUN=1 演练与 EASY4J_JDK_HOME 覆盖。多分支发布用子智能体并行编排。
适用场景:SDK 与 Starter 的月度正式版发布、依赖版本对齐、CVE 扫描与分支一致性校验。
限制:发布不可逆,执行前须获用户明确确认;Maven Central 拒绝 SNAPSHOT 传递依赖,被依赖组件须先发正式版;Starter 构建 JDK 取 max(自身 java.version, SDK 依赖线字节码版本);JDK 8 依赖有天花板(jackson 2.18.9、okhttp 4.12.0、junit-jupiter 5.11.4);nexus-staging 已废弃,改用 central-publishing-maven-plugin。具体仓库路径、凭证等细节以实际环境为准。