Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion .agents/docs/2026-09-27-plugins-0.15.2-plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,19 @@ E6 若查明警告来自插件(例如 rules-qt 在不需要 Qt 的构建程序
|---|---|
| 2.1 brotli | GitCode 已上传规范名资源与 `SHA256SUMS`,两端逐字节一致;GitHub 的 `-r1` 已删除;GitCode 的 `-r1` 待用户删除 |
| 2.2 xim | openxlings/xim-pkgindex#891 已合入(4c1dc850);发布后的索引中 qt、qt-base、qt-addons 只列出 `6.11.1`;brotli 按规范名安装,带头文件 |
| 2.3 plugins | mcpp-community/mcpp-plugins#34。本地 Linux 四项检查通过,均在清空载荷与 provisioning 印记后全新安装 `6.11.1` |
| 2.3 plugins | mcpp-community/mcpp-plugins#34 已合入(53c57d5),三平台 CI 全绿;tag v0.15.2;GitCode mcpp-res/mcpp-plugins 0.15.2 与 GitHub 逐字节一致(sha256 `a66e349d…76ad`);mcpplibs/mcpp-index#478 已合入,`latest` 为 0.15.2 |
| E2 | 成员的 `.workspace = true` 可以与 `features`、`host-module` 同用。非成员的 `gpp.build` 不能继承(mcpp#714),改为自带版本;若把它设为成员,根目录的 `mcpp build` 会把它当作目标构建并失败 |
| E3 | 不成立:三种写法(带 cfg 的 target 表、`[target.linux]`、`[xlings.workspace]`)写在根清单时,成员的构建程序都看不到载荷(mcpp#713)。回退为逐成员声明 |
| E6 警告来源 | 21 条 "no Qt SDK" 全部来自 `gpp.build`:它启用 `rules-qt` 只为导入模块,自己没有 build.mcpp,mcpp 仍为它合成规则程序(mcpp#715)。0.15.2 让这种情况不再输出提示;新增 fixture `qt-import-only` |
| Qt 路径单点 | GalTranslPP 的 `gpp::qt_root` 与 `gpp::qt_options()` 汇集到一处:规则、发布布局、ElaWidgetTools 的 `QT_SDK_DIR` 都取同一个 SDK |

新发现并已提交的 mcpp issue:#713(根清单的 xlings 声明对成员不可见)、#714(非成员的 `.workspace = true` 变成空版本)、
#715(没有设备源也合成规则程序)、#716(provisioning 印记在载荷删除后仍然有效)。
| 2.4 GalTranslPP | Sunrisepeak/GalTranslPP 提交 43ee88f,run 36272623612 全绿。首次 emit 258 s;GPPCLI 6.2 min;GPPGUI 18.2 min;pack 0.9 min;无改动的第二次构建 0.8 min,未触发安装;构建后再次 emit 62 s。所有日志中 "no Qt SDK" 为 0 条;成员记录的 SDK 事实为 `xlings: …/xim-x-qt-base/6.11.1` |

构建后再次 emit 需要 62 s,原因有二:

1. Updater 作为宿主工具被重新构建(mcpp#705:路径包的宿主工具键覆盖了其目录树内的消费方);
2. 构建时用的是 fast-release,emit 规划的是默认的 release,部分构建程序因此按 release 重新运行。

评估文档中"构建一次后 emit 为秒级"的预计因此不成立,以本次实测为准。
Original file line number Diff line number Diff line change
Expand Up @@ -145,3 +145,19 @@ plugins CI 缓存、GalTranslPP CI 缓存与本机沙箱,均可清除。修订
| brotli 恢复规范名(§2.2 第 2、3 步) | 我,在你完成删除后执行 |
| PR2 文档修正(G1、G5)与 G2 验证 | 我 |
| glibc locale(§3.3)、xlings 修订号(§1.3-1)、mcpp 解析一致性(§1.3-2)与可覆盖声明(G3) | 各仓库 issue,待你确认后提交 |

## 6. 0.15.2 之后的状态(2026-09-27)

执行方案见 `2026-09-27-plugins-0.15.2-plan.md`。本文件前几节的结论按如下更新:

| 项 | 状态 |
|---|---|
| §1 Qt 版本 | 索引只保留 `6.11.1`(xim-pkgindex#891);消费方书写上游版本 |
| §2 brotli | 两端均为规范名,内容一致;GitHub 的 `-r1` 已删除 |
| §3 locale | 已提交 openxlings/xlings#621 |
| G1、G5 | 已完成:`how-to-build.md` 用 `> 注:` 列出 Qt、vcpkg、vcpkg 缓存、工具链与插件版本的配置方式 |
| G2 | 部分成立:成员以 `.workspace = true` 继承插件版本;`gpp.build` 不是成员,无法继承(mcpp#714);`xim:qt-base` 仍逐成员声明(mcpp#713) |
| G3 | 属预期行为:不使用 xim 提供的 Qt 时,注释掉声明,再设置 `QT_ROOT_DIR` 或 `gpp::qt_root` |
| G4 | 不变:仍需 VS Build Tools |
| G7 | 已提交 mcpp#710(宿主工具不使用工作区工具链)、#711(缺少目标产物依赖) |
| emit | 首次 258 s(包缓存为空);构建后再次 emit 62 s,原因见执行方案 §6 |
Loading