Skip to content

feat(plugins): #1495 Maven 模型、配置、测试与服务运行迁移(阶段 D 进行中) - #1558

Merged
xiaoyumuxi merged 99 commits into
1lck:previewfrom
Mucheen:codex/issue-1495-maven-migration
Nov 4, 2026
Merged

xiaoyumuxi merged 99 commits into
1lck:previewfrom
Mucheen:codex/issue-1495-maven-migration

Conversation

@Mucheen

@Mucheen Mucheen commented Oct 29, 2026 •

Copy link
Copy Markdown
Collaborator

Maven 模型、配置、构建、测试和服务运行改由插件 Provider 持有,宿主负责通用展示、存储与进程生命周期。本 PR 只含 macOS 与 Core,不关闭 #1495。

当前宿主见 PR 最新提交,已整合合并后的 #1581 与 preview@4a027b10e(2026-11-04 两次合并,26 个冲突文件;MavenService/MacMavenDependencyOutputStore 保持删除,生成文件重新生成,Swift 冲突同时保留 preview 结构化日志与本分支 Build Provider/工具链接线)。为通过 preview 新增的日志用法门禁,Agent 能力的 Build 选项编码失败改为记录事件,两处封闭例外加豁免标注。合并暴露的两处陈旧测试夹具已修正(旧配置迁移测试的存储替身补拦截保留元数据的写入;项目生成测试拆分清单时剥离 debugAdapters/toolDefinitions 并补 debug 权限),生产代码不变。工具默认迁移的退出条件经核对必须与 Java 消费端(阶段 E)一起切换,切片边界已写入 docs/development/issue-1495-plugin-migration-remaining-plan.md;合并前 f0561be5d 上已经失败的 RunEntryPointTests 5 个“延后 Run 在快照到达后重发”用例已修复:没有启用构建插件时,prepareCurrentProviderGeneration 因构建功能为空直接按取消处理,javaMain 运行会静默不启动;现在没有可用构建插件时跳过 Provider 模型刷新,继续走 Provider 生成校验,有构建插件但功能未激活仍按取消处理。配套 SDK 3596a4d14bab2f4e19d187a136c8515bfd51eb88、Maven 19b6b0103e9bc8c569a3987a09ccd57b69cef966,正式发行锁定不变。 第三次合并 preview@f8d1fb8ee(#1720 插件操作事实记录):BuildSystemService.outputPlan 冲突合并为同时推进操作阶段并返回 ResolvedBuildTool?;Run 自身的模型加载也按 buildModel 记录一次插件操作(取消不记)。

按 2026-11-04 的决定,本 PR 只保留 macOS 与 Core。windows/ 下的全部改动、Windows CI 工作流、Windows 测试稳定性脚本、Windows 声明式插件宿主笔记、功能矩阵中的 Windows 状态以及 69 条只给 Windows 用的 i18n 词条已还原到 preview 基线(9e1a270b5),原样移到 #1722;新增能力的 Windows 矩阵条目记为未实现。共享契约、fixture、资源复用清单和 docs/ci-builds.md 同时描述两端运行状态,保留在本 PR。

行为与 review 修正

  • macOS 原生 Build 与 Agent 共用实例、任务、输出及停止,删除 MavenService/MavenFeatureModel、旧 Maven 任务进程、配置副本、文本依赖树与已替换 fallback;模型驱动源码根、依赖导航、模块展示和语言导入。

  • v7 原生配置由提供者解释并编辑。Core 不编辑 XML:宿主分配私有暂存,提供者返回不含文档的版本/哈希回执;两端校验身份、权限、大小和版本后原子发布,并向同一提供者回读。取消、冲突和迟到回复清理暂存,不覆盖外部修改或把秘密写进 RPC。

  • v8 macOS 直接消费通用 BuildTestResults,删除 Maven 报告类型和文本转换;保留摘要、调用次数、耗时、来源及不透明重跑引用。JDT 的精确标识原样交给 Maven,覆盖参数化、Unicode、同名模块与失败报告。

  • buildSystems 4 的准备任务按通用 purpose/sourceRoles 声明;宿主按当前模型中的工程和源码角色选择,拒绝歧义,不约定 Maven 任务 ID。

  • 自动 Run 由当前运行声明与目标生成 build.provider / extensions.build,独立于 Java 导入。Core 删除 mavenRunProvider 与框架名单,稳定选择器、完整模型指纹、目标撤回和用户覆盖统一生效;旧 application 引用保留协议 4 的不透明参数通道。

  • extensions.build-run 保存精确 runtimeArguments、entrypoint 和按次 Build 选项;省略保留、显式清空、团队/本机叠加和排序规范化均受验证。参数文本使用共享 fixture,可逆处理空参数、空格、引号、反斜杠和 Unicode。

  • 临时旧 Run v1/v2 转换器保留 ID、默认项、层级、目录、环境、argv 和未知元数据,转移可确认活动偏好。隐式空模块目标保留给 Maven 自己处理 defaultGoal。发布前后校验来源字节、键清单、偏好标记及生成租约;新 local 文件为 0600,失败只回滚自身输出并清理空目录。逐 Run 的明确 Maven 可执行文件/JDK 可转成通用定义选择,本机空值保留为清除单项覆盖。项目/全局默认与应用 JDK 联动的完整转换尚未接通时保留来源并拒绝;不把继承的当前值冻结成目录 pin。迁移器仅保留稳定 N/N+1,在 N+2 前删除。

  • 正常 Provider 输入必须带完整通用引用;Core 不再解释旧 Maven 扩展。macOS 删除按旧框架/模块名称进入新 Provider 的分支。

  • v11 服务调试走当前 DebugAdapter Registry,传递公开 adapterID/configurationType 与 loopback connection,跨模型准备、进程启动、监听和 attach 核对包及注册代次。Java Support 声明同包 JDT 托管适配器,Maven 只引用公开配置类型;本入口移除 runtime:jvm 和内置 Java attach。

  • 固定工具链基础后,macOS Build/Provider Run 使用独立的运行前解析:现有目录 pin、声明布局、版本探测、最低版本和原生文件证据交给同一 Core 四层解析器。设置页缓存不授予启动权;结果直接由操作持有,不留共享执行许可槽。固定值失效不回落,Wrapper 只在显式操作时允许;输入、插件或上下文变化拒绝。已校验的 Provider 不可用回复可继续检查低层,安全/身份/取消失败不降级。

  • extensions.build-run.tools 按工具定义 ID 保存明确安装目录或可执行文件,准备时交同一解析器重新校验;团队/本机逐项合并,null 清除继承,空对象保留已有项。两个同目录 Run 各自选择不会重写目录 pin;重置会显式清空该 Run 的工具。无效明确值不回落,工作区启动器取得当前操作授权前不探测,不猜安装目录或 JAVA_HOME。

  • Maven 使用社区命名空间工具 ID,Java 短 ID 由独立验证官方来源的 Java Support 定义。删除新增的 project-maven-jdk 注册及 Java 准备入口按 Maven 名字选工具的代码;删除归属投影的 mavenMinimumVersion、mavenWrapper 与 Core Wrapper properties 解析。原有 Java 消费者使用的 project-maven 暂留。

  • 当前项目归属改为完整 build={pluginID,buildSystemID,root,projectID};新 Java 生成结果只保存 Java 主类、模块、源码角色与此引用,不产出 Maven 扩展或 Maven 工具绑定。目录覆盖、伪造身份或置空扩展不能替换当前模型的归属;原生导入精确匹配四个身份,模型撤销后拒绝。JDT 尚未返回源码时也保留 Provider 已知的 Java 编译版本要求。

  • 最低版本下的 Wrapper 在 Core 确认项目代码身份后,仅于明确执行时探测,再以原最低版本解析;打开工程不执行它。Build 保留声明的全部 PATH 附加目录。

  • Node/Java SDK 重写未发布的 v7/v11 并保留 v8–10;正式 SDK lock、下载 URL 与校验值不改,公开镜像已整合到实际合并的 f64d262(77 文件),本 PR 未合并增量仍在宿主合入后按最终 preview SHA 同步。

  • 工具 Provider 可写状态经平台 app-data adapter 放在独占的 plugin/operation/workspace 目录,进程停止后删除状态;失败保留仍被进程使用的目录,不写安装包或跨工作树复制。未协商提供者不发请求,身份和安全错误不回落;当前 packaged 后端不接受未实现的 hostServices。

  • 修复真实 Core 使用字符串 JSON-RPC ID 而查询校验只接受整数的问题;Core 与 macOS 接受有界字符串和正整数,回复必须保持类型和值。共享 fixture 和真实 Core/Node 会话覆盖混合类型及越界拒绝。

  • 保留最终 feat(plugins): 插件注入的工具链框架与 macOS 只读环境设置页 #1581 设置页的同目录查询轮次、统一文件事实、Core 生效层/冲突判断和超时/不可用原因,适配阶段 D 的运行前解析与逐 Run 工具选择。Build 不能传完整直接启动模板时,macOS 在探测前拒绝额外 flag;运行时安装依赖只消费已校验安装、版本和导出,不实例化 entry/JAR 模板。

  • 通用消费偏好:现有 Run 本机文档增加 toolchain.preferences,Core 保留 workspace/consumer 符号继承,支持显式 Run、消费者、最近目录和工作区选择并拒绝无效引用。旧保存省略时保留,空 v1 文档显式重置。macOS Build 按当前贡献身份读取,再经原有定义/版本/文件事实链验证,探测后重查字节;无效路径、来源变化、取消和外部别名拒绝。macOS 保留 Run 文档 2MiB 原生上限。没有新增 Maven/Java 特判、公开 Build JSON 字段或配置副本;macOS 已补下述显式编辑。

  • macOS Build 偏好编辑:运行环境页按当前启用插件的 Core invocation 列出真实 Build 使用方;可保存安装目录、可执行文件及符号继承,草稿按作用域独立,显式 Save/Cancel/Reset。重开保留最初文件版本,外部冲突及读取失败保留草稿;关闭取消并等待原生回执。复用 Run 本机文档条件原子写入、权限/元数据保留及回读;打开/草稿/取消/空重置不建文件。不把偏好回显为已探测安装,语言服务消费者尚未迁移时不显示配置入口。

  • Core 精确编辑只变更一个偏好,Run 替换命令必须接收捕获文档、无原生 I/O,不物化旧默认、不触发 v1 运行项迁移,并严格拒绝未知版本。修复父目录链接在最终文件缺失时漏过规范化的问题;仅偏好文档不再阻断旧 Project 默认迁移。共享契约、14 条中英文文案、中文笔记、功能矩阵及资源生命周期/复用拒绝说明同步更新。

  • 消费者 inherit:tool 跟随最初请求目录的通用工具;经工作区消费者间接继承仍保留目录身份,通用工具不能反向引用消费者。共享 fixture、macOS 编辑和 macOS 运行前读取同步验证,默认变化不冻结为已探测路径。

  • macOS 目录列表包含只有偏好的目录及其父目录,重置后撤回;Run 本机文件纳入输入观察,加载期间变化最多重试一次,持续变化显示可刷新错误。干净编辑器更新输入,冲突保留原始草稿基线,自身保存通知不等待或撤销正在保存的操作;新增三条中英文文案。

  • 真实 Maven 集成通过生产 Save 和运行前解析切换两个明确选定的 JDK,启动 Maven 检查实际 Java home;按 Run 明确选择保持原值,Maven/Java 插件清单不变。四种 pin/偏好及 Wrapper 组合均覆盖。缺失 Run 文件的两级父目录及存在/悬空链接四种情况均在工具探测前拒绝。

验证

  • 合并 preview 后 db8ca1379:本机 Core 1795 项全量与集成测试、lithe-ide-host 16 项、clippy 通过;macOS Build/Run/Debug/Provider 相关定向 Swift 测试 405 项通过。拆分后 Windows 宿主尚未发送 toolExposure,MCP open 因缺字段失败(41795095066);现改为可选:未声明时按完整目录服务并按目录自身规则校验,描述文件不含 toolExposure,macOS 始终声明,ide-api/v1.md 与 rust-core-api.md 同步说明并加测试。

  • 拆分后最新提交 2f581dc31:Windows 相关路径与 preview 基线 9e1a270b5 逐字节一致;Windows 生成的 i18n 字典回到基线,macOS 生成文件不变。还原后的 Windows crate 在 macOS 上对新 Core 做 cargo check --all-targets,lithe-project 编译通过,只剩 project_window_registry.rs 两项已知的 Windows API 基线错误。契约、服务/Windows 边界、Notes、bundle 只读、i18n、功能矩阵、资源复用、Core 注释与日志共 14 项静态检查通过。

  • 合并提交 db8ca1379 的完整 CI:Windows CI 41798127526 中 host、shared-hosts、shared-2 与真实 JDT 通过;shared-1 的 request_trace::fields_keep_valid_tokens_and_omit_invalid_ones 与 frontend 的 lossy-rollback-channel.test.ts 失败,与 preview feat(logging): 声明式插件由执行方代记插件操作事实 #1720 自身的 Windows CI 41788280399 失败相同,相关代码与 preview 一致,不属本 PR。macOS CI 41798127507 的 Rust Core 与 CI 工具测试通过,Swift 与发布包校验在 PR 合入后按规则取消;i18n、功能矩阵、Agent Notes、结构化日志、官方插件发布与 Remote Workspace 通过。

  • 拆分前 8a52a4b52:RunEntryPointTests 21 项、Run/Build/Debug/Java/Provider/Toolchain 相关 1217 项串行通过;Core 1787 项全量通过。

  • 最新本机 f0561be5d:macOS 80 项逐项计时通过;真实工具集成两项方法(四组保存/Wrapper 组合与一次默认切换)分别为 6.165 秒、4.825 秒,来源链接回归 8ms。报告为 stage-d-preference-scopes-complete-final、stage-d-real-tool-defaults-macos-final,均有 HTML/JUnit。契约、服务/Windows 边界、bundle 只读、Notes、矩阵、国际化、稳定性及资源复用检查通过。本次只增加 macOS 行为与证据,未重复占用 Windows runner。

  • 本轮偏好编辑:Core 1635 项全量逐项计时通过;macOS 扩展 240 项通过,最终严格捕获/保留草稿改动后 Core 1635 项与直接相关 macOS 171 项再次通过;无修改 Reset 保留空容器后,当前源码 10 项偏好/Run JSON 定向计时通过。深浅主题原生 Save/Reset 按钮均调用真实受保护存储;共享契约、服务/Windows 边界、bundle 只读、Notes、i18n、资源复用和功能矩阵门禁通过。报告前缀 stage-d-preference-editor-*。

  • 工具偏好本地:Core 1631 项全量、最终偏好 8 项定向、Project 107 项、macOS 186 项通过。资源复用 33 项、共享契约、架构/Windows 边界、bundle 只读、Notes、矩阵和两端稳定性检查通过。host 生产/测试编译只有 macOS 的两项既有 Windows API 错误。所有测试启动的运行时已回收。

  • 报告与保留的失败/修正依据见 docs/development/issue-1495-plugin-migration-remaining-plan.md;本批报告前缀 stage-d-registry-debug-*。

剩余退出条件

项目/全局工具默认及应用 JDK 动态继承的无损迁移(旧 Java 的空路径仍会回到根默认,须与消费端一起切换);剩余 Maven/Java/Agent 消费者切换;剩余 Core Maven 业务删除;正式 SDK/插件依赖发行;macOS 完整 UI/安装包验收。Windows 部分见 #1722。普通 Java/JDT 后端迁移属于阶段 E。

宿主实际合入后才同步公开 Build 契约、发行 SDK 并更新 Maven 正式锁定。当前矩阵保持真实的 partial/pending,不把受控会话或组件测试当成阶段 D 全部完成。

Mucheen and others added 23 commits October 26, 2026 23:31
…sue-1495-workspace-capabilities

# Conflicts:
#	macos/Resources/en.lproj/Localizable.strings
#	macos/Resources/zh-Hans.lproj/Localizable.strings
#	macos/Sources/LitheModuleAPI/Plugins/PluginTypes.swift
#	shared/i18n/messages.json
@xiaoyumuxi

Copy link
Copy Markdown
Collaborator

构建工具的 API 都 7 版本了么,记得同步 docs 仓库里面的开发文档呀

Mucheen and others added 4 commits November 3, 2026 08:07
Merges origin/preview (5705732) into the stage D branch. Conflict decisions:

- MavenService.swift and MacMavenDependencyOutputStore.swift stay deleted; the
  preview logging v2 wiring they received has no replacement path because the
  Build Provider owns those flows now.
- Generated i18n outputs (Localizable.strings, shared.generated.ts, locales,
  messages.json) were regenerated from the merged shared/i18n sources.
- Feature matrix, rust-core-api.md, docs/ci-builds.md, worktree resource
  registry and reuse script keep both sides' entries.
- ci-windows.yml keeps the preview queueing structure and re-adds the Build
  provider and plugin-native-errors test entries from this branch.
- Swift conflicts (RustCoreBridge, MacServiceContainer, AppModel+RunConfiguration,
  MacBuildToolResolver, IdeCapabilitiesFeatureModel, PluginTypes) keep the
  preview structured logging changes together with the Build Provider and
  toolchain wiring from this branch.

Follow-ups required by preview rules and by this branch's last commits:

- Satisfy the new log-usage verifier: record build option encoding failures in
  IdeCapabilitiesFeatureModel, and mark the two expected-missing / already
  recorded catch sites in MacRunConfigurationStore and MacBuildToolResolver.
- LegacyMavenConfigurationMigrationTests: the storage double now fails the
  metadata-preserving replace that the run store uses since cc6fc7d.
- ProjectGenerationTests: the split Java Support fixture drops debugAdapters and
  toolDefinitions from the template half and declares the debug permissions
  the language half's adapter needs.
- cargo fmt on the lithe-core files this branch touches.
@xiaoyumuxi
xiaoyumuxi marked this pull request as ready for review November 4, 2026 06:25
@xiaoyumuxi
xiaoyumuxi requested a review from 1lck as a code owner November 4, 2026 06:25
@lithe-code-review

Copy link
Copy Markdown

Lithe Review

⏳ 正在以大型变更模式审查代码,完成或失败后会更新本评论。

Merges the three preview commits after 5705732 (git ownership resolution,
log window test deadlines, git/Core/user action traces).

- RunView keeps this branch's staleProviderModel condition and preparing-run
  stop branch inside the preview UserActionTrace wrappers.
- git/mod.rs takes the new command_trace module; lithe-core re-formatted.
- Localizable.strings regenerated from the merged shared/i18n sources.

The remaining-plan document records this integration, the two stale test
fixtures fixed in the previous merge, and why the tool-default migration exit
condition is bound to the Java consumer migration of stage E rather than to
this branch.
@lithe-code-review

Copy link
Copy Markdown

Lithe 运行验收

版本:c47e1b5cce90fcdb3b3041f52e28e78ed1630556;状态:blocked。
本报告独立于代码审查;只报告实际执行的场景,不代表所有问题均已修复。

External fork runtime requires an explicit trusted execution policy; no code executed

工作副本与运行状态已清理;可复用编译缓存按 12 GiB / 7 天预算保留。
详细步骤和原始证据保存在服务器受限目录(14 天、总计不超过 1 GiB);当前没有公开下载链接。

prepareCurrentProviderGeneration threw CancellationError whenever the
build-systems feature was absent, so a javaMain run with no enabled build
plugin silently never launched. Skip the Provider model refresh in that case
and keep validating provider generation; an enabled plugin whose feature is
not active still cancels. Fixes the five deferred-run RunEntryPointTests and
corrects the cause recorded in the stage D plan.
@lithe-code-review

Copy link
Copy Markdown

Lithe 运行验收

版本:8a52a4b5238cd6a8d11d767041b6bcfe7e07a505;状态:blocked。
本报告独立于代码审查;只报告实际执行的场景,不代表所有问题均已修复。

External fork runtime requires an explicit trusted execution policy; no code executed

工作副本与运行状态已清理;可复用编译缓存按 12 GiB / 7 天预算保留。
详细步骤和原始证据保存在服务器受限目录(14 天、总计不超过 1 GiB);当前没有公开下载链接。

…ges to a separate PR

Restore windows/, the Windows CI workflow, the Windows test-stability
script and reference, and the Windows declarative plugin host note to
the preview base 9e1a270. Feature-matrix Windows entries return to
their base state (new capabilities recorded as missing on Windows), and
69 Windows-only i18n messages are removed while shared messages added
in this PR are scoped to macOS. Shared contracts, fixtures, the resource
reuse manifest and docs/ci-builds.md stay because they describe both
platforms. The Windows changes will be restored in a follow-up PR.
@lithe-code-review

Copy link
Copy Markdown

Lithe 运行验收

版本:2f581dc31663319da72c9542d26768b5fc7e3f79;状态:blocked。
本报告独立于代码审查;只报告实际执行的场景,不代表所有问题均已修复。

External fork runtime requires an explicit trusted execution policy; no code executed

工作副本与运行状态已清理;可复用编译缓存按 12 GiB / 7 天预算保留。
详细步骤和原始证据保存在服务器受限目录(14 天、总计不超过 1 GiB);当前没有公开下载链接。

@lithe-code-review

Copy link
Copy Markdown

Lithe 运行验收

版本:98586a28c93bd4b71de50af367e9d09a613e6f1c;状态:blocked。
本报告独立于代码审查;只报告实际执行的场景,不代表所有问题均已修复。

External fork runtime requires an explicit trusted execution policy; no code executed

工作副本与运行状态已清理;可复用编译缓存按 12 GiB / 7 天预算保留。
详细步骤和原始证据保存在服务器受限目录(14 天、总计不超过 1 GiB);当前没有公开下载链接。

Resolve the outputPlan conflict with 1lck#1720 plugin operation stages, and record the run's own model load in runTask as a buildModel attempt so captureOutput receives one.

Keep the Windows host working after the macOS-only split: an IDE host that sends no toolExposure on open now serves the whole catalog (the preview behavior) instead of being refused, while macOS keeps declaring and enforcing its selection. Contracts updated accordingly.
@lithe-code-review

Copy link
Copy Markdown

Lithe 运行验收

版本:db8ca1379d7e184d8733cc28bafcd61c5c996bfa;状态:blocked。
本报告独立于代码审查;只报告实际执行的场景,不代表所有问题均已修复。

External fork runtime requires an explicit trusted execution policy; no code executed

工作副本与运行状态已清理;可复用编译缓存按 12 GiB / 7 天预算保留。
详细步骤和原始证据保存在服务器受限目录(14 天、总计不超过 1 GiB);当前没有公开下载链接。

@xiaoyumuxi
xiaoyumuxi merged commit 2bbead7 into 1lck:preview Nov 4, 2026
20 of 25 checks passed
xiaoyumuxi added a commit that referenced this pull request Nov 4, 2026
#1558 让 Java Support 通过自己的 debugAdapters 声明调试能力,功能页因此把
debug 列为插件提供(detail 为 none),不再是宿主集成。preview 的 CI 因 lane
复用跳过了 Swift tests,这条过时断言一直没有暴露。run/test 仍断言为宿主集成。
xiaoyumuxi added a commit that referenced this pull request Nov 5, 2026
* feat(architecture): 新增宿主语言特定内容闸门(棘轮模式)

verify-no-host-language-specifics.mjs 扫描 Core、macOS、共享前端、插件契约和
Windows 六个目录,统计 Java、Maven、Gradle、Spring、MyBatis 等词表命中、名字比较、
工具名常量表和 schema 封闭枚举。

- 默认棘轮:计数上升或出现新文件失败;计数下降须用 --update-baseline 同项收紧
- --strict 供最终清理 PR 使用,不看 baseline,仅白名单豁免
- --base <ref> 拒绝 baseline 增长和白名单新增条目
- 六个旧 token 在任何模式下都失败,沿用 verify-java-semantic-ownership 的规则
- 白名单每项必须有 reason、issue、removeWhen,未被使用的条目报错
- 附 16 个单元测试和首份基线(23810 处命中,693 个文件)

Refs #1495

* ci(architecture): 接入宿主语言闸门并新增独立工作流

- verify-core.sh 在旧的 Java 语义检查之后运行新闸门,两者并存直到最终清理 PR
- 新增 verify-host-language-specifics 工作流,只在 Linux 运行,PR 上带 --base
  对比合并基点,push 到 preview 时只做棘轮检查
- CI 变更分类器和 lane 复用规则把闸门脚本、baseline、白名单视为独立工作流,
  不触发 macOS 和 Windows 产品 lane

Refs #1495

* docs(architecture): 记录 Java 拆分的通用 API 映射、PR 拆分与闸门规则

- 新增 Agent 笔记,固定 Java 拆分用到的通用接口(对应 API-12/19/20/22/23/25/26/
  27/29/30/33/35/37,不新增编号)、API-35 第一阶段的 Core 中转插件函数调用规则、
  PR 拆分与依赖、Windows legacy crate 过渡和闸门脚本的棘轮规则
- 旧的 Maven/Java 迁移笔记 §八 改为指向新笔记,保留无中间状态与资源复用两条规则
- 插件 API 计划在相关条目补充计划说明,API-35 标为第一阶段进行中

Refs #1495

* test(macos): Java 调试能力改由插件 debugAdapters 声明后更新功能页断言

#1558 让 Java Support 通过自己的 debugAdapters 声明调试能力,功能页因此把
debug 列为插件提供(detail 为 none),不再是宿主集成。preview 的 CI 因 lane
复用跳过了 Swift tests,这条过时断言一直没有暴露。run/test 仍断言为宿主集成。

* fix(scripts): 语言闸门识别关键字后的正则并按成员计数封闭列表

- stripComments:return、typeof 等关键字后的 / 按正则字面量处理,
  字符类里的 /* 不再被当成块注释吞掉后续源码;属性名 .in / 仍是除号。
- toolTables 改为统计合格常量表的条目数,schemaEnums 改为统计
  tool、runtime、languageImport.kind 的封闭取值个数和 hostIntegration
  的集成名个数(至少 1),已有列表新增 python 等成员时棘轮会失败。
- 补充对应单元测试和棘轮端到端测试。

* chore(scripts): 合入 preview 后按成员计数重新生成语言闸门基线

preview 新增的 Java 词条和本次改为按成员统计的常量表、schema 枚举
一起计入基线,Note 同步计数规则和快照数字。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review: medium ghfind author score; see https://ghfind.com

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants