Repository navigation
build(sdk): 改为锁定官方发布的 Java SDK 0.3.0 并准备 0.1.3 预发布 - #11
Open
xiaoyumuxi wants to merge 1 commit into
Open
xiaoyumuxi wants to merge 1 commit into
xiaoyumuxi wants to merge 1 commit into
Conversation
- vendor/ 重新取自官方发布 tag sdk-java-v0.3.0:Backend.java 和 Diagnostics.java 随发布版更新(新增 litheKeymapImport 相关代码,logging 部分与此前一致),其余 13 个源文件和 LICENSE 与发布版逐字节相同;不再保留任何本地改动。 - sdk.lock.json 改为 schemaVersion 2:固定仓库、版本 0.3.0、tag、tag 指向的提交 940394f、发布 JAR 的 URL 与 SHA-256,以及每个文件的上游路径和 SHA-256。 - verify-sdk.mjs 严格校验锁文件格式(拒绝 localChanges 等多余字段、上游路径与 vendor 路径不对应);新增 --download 模式,联网核对 tag 仍指向锁定提交、发布 JAR 的 SHA-256、每个文件与 tag 上的原文件一致。新增不联网的回归测试 test-verify-sdk.mjs,并接入 CI。 - 插件版本 0.1.2 -> 0.1.3(plugin.json、extension/pom.xml、backend/pom.xml),新增 docs/releases/v0.1.3.md,README、NOTICE、注释改为描述已发布的 SDK 0.3.0。 - release.yml:v0.1.3 加入 PRERELEASE_TAGS;gh release create 之后回读 isPrerelease,应为预发布却不是时执行 gh release edit --prerelease 并复查,仍不符则任务失败。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概述
把内置的 Java SDK 从“基于未发布工作区的本地改动”改为锁定官方发布的 Java SDK 0.3.0(tag
sdk-java-v0.3.0+ 发布 JAR 的 SHA-256),并准备 0.1.3 预发布。插件行为与 0.1.2 相同。SDK 0.3.0 含结构化日志(
litheLogging: 1),基于它构建的插件只能在提供litheLogging: 1的 Lithe preview 上启动;稳定版 0.6.7 没有,所以 0.1.3 必须是 GitHub 预发布。改动点
重新 vendor SDK(
vendor/)sdk-java-v0.3.0(提交940394fcd8455186ee985e6c34a319032414607f)与原 vendor:有 2 个文件不同,已改为发布版原文件:Backend.java:发布版新增litheKeymapImport相关代码(keymapImportProvider、lithe/keymap/import、能力协商)。其余部分与原本地版本一致,本插件不使用该功能。Diagnostics.java:操作白名单新增lithe/keymap/import。LICENSE与发布版逐字节相同,只有元数据变化。localChanges/upstreamSha256描述的未提交工作区改动全部消失)。SDK-LICENSE仍随安装包提供。sdk.lock.json与scripts/sdk/verify-sdk.mjsschemaVersion: 2:固定仓库、版本0.3.0、tag、tag 指向的提交、发布 JAR 的 URL 和 SHA-256(5a84ebdb…8059),每个文件记录上游路径、vendor 路径和 SHA-256。upstream/path/sha256三个字段(拒绝localChanges),上游路径必须与 vendor 路径对应,禁止重复和路径穿越。vendor/必须与锁文件逐文件一致,缺失、改动、额外文件都会拒绝。--download模式:用git ls-remote确认 tag(含 annotated tag 解引用)仍指向锁定提交;下载发布 JAR 核对 SHA-256(有超时和大小上限);逐个取 tag 提交上的原文件,核对与 vendor 一致。scripts/sdk/test-verify-sdk.mjs(不联网):覆盖篡改/多余/缺失文件、11 种无效锁文件、发布核对的成功与各类失败(tag 移动、JAR 被替换、上游文件不一致、请求失败)、以及在真实 git 仓库里对 annotated/lightweight tag 的解析。已接入 CI。test-verify-sdk.mjs,以及verify-sdk.mjs --download。版本与文档
plugin.json、extension/pom.xml、backend/pom.xml(package.mjs --expect-tag检查这三处)。docs/releases/v0.1.3.md:SDK 改为锁定官方发布的 Java SDK 0.3.0(tag + SHA-256),行为与 0.1.2 相同。backend/pom.xml和package.mjs注释:去掉“未提交工作区/未发布 SDK”的说法,改为使用已发布的 Java SDK 0.3.0、需要提供litheLogging: 1的 Lithe 构建;补充升级 SDK 的流程和三条验证命令。发布工作流(
release.yml)PRERELEASE_TAGS加入v0.1.3(注释同步更新)。gh release create之后回读gh release view --json isPrerelease:应为预发布却不是时执行gh release edit --prerelease并再次回读;仍不符则任务失败。应为稳定版却是预发布时也会失败。此前 v0.1.2 被发布成了正常 Release,这一步防止预发布版成为 Latest 影响稳定版用户。gh在本地模拟了 5 种情形(创建即正确、创建错误但 edit 修复、edit 无效、稳定版正确、稳定版被误标预发布),退出码符合预期。测试
本地 macOS,Node 24、JDK 17(默认)、JDK 11、Maven 3.10.0;本机没有 Java 8,Java 8 由 CI 覆盖(后端用
--release 8编译)。node scripts/test-process.mjsnode scripts/sdk/test-verify-sdk.mjsnode scripts/sdk/verify-sdk.mjsnode scripts/sdk/verify-sdk.mjs --downloadnode scripts/package.mjs --expect-tag v0.1.3maven-build-0.1.3-darwin.zipnode scripts/test-backend.mjs(Java 17、Java 11)node scripts/test.mjs(真实 Maven 3.10.0;Java 17、Java 11)本地未运行 CI 里的 “Validate against Lithe Store rules” 一步(需要克隆并执行 Lithe-store 的脚本),以及 Maven 3.6.3 + Java 8 的矩阵项,交给 CI。
合并后由人工推送
v0.1.3标签发布。