11# plugins 0.15.2 与生态收敛方案
22
3- 日期:2026-09-27。依据:` 2026-09-27-versioning-assets-locale-and-galtranslpp -review.md ` 及其后的讨论结论。
3+ 日期:2026-09-27。依据:` 2026-09-27-versioning-assets-locale-and-validation-project -review.md ` 及其后的讨论结论。
44
55## 0. 目标
66
771 . Qt 以上游版本 ` 6.11.1 ` 作为唯一版本键,消费方书写上游版本。
882 . brotli 资源恢复规范文件名,GitHub 与 GitCode 逐字节一致。
9- 3 . GalTranslPP PR2 达到当前生态能力下的最佳形态:版本单点声明、可配置项有文档、emit 开销可解释且可测。
9+ 3.验证工程PR2 达到当前生态能力下的最佳形态:版本单点声明、可配置项有文档、emit 开销可解释且可测。
10104 . 需要 mcpp、xlings、xim glibc 改动的事项,以 issue 形式交给各自仓库。
1111
1212非目标:修改 mcpp、xlings 或 glibc 配方本身。
@@ -46,7 +46,7 @@ D1 的索引改动只是删除冗余键;消费方的切换不依赖它先合
4646- 验收:三平台 CI 全绿。其中 Linux 的 widgets 打包检查要确认新缓存下装出的 ` 6.11.1 ` 带有运行时闭包(libdbus、xkbcommon、fontconfig),这正是 D1 的实证。
4747- 发布:tag v0.15.2、GitCode 镜像(sha256 比对)、mcpp-index 登记。
4848
49- ### 2.4 GalTranslPP PR2
49+ ### 2.4 the validation project PR2
5050
5151| 项 | 内容 | 验收 |
5252| ---| ---| ---|
@@ -70,7 +70,7 @@ E6 若查明警告来自插件(例如 rules-qt 在不需要 Qt 的构建程序
7070
7171```
72722.1 brotli 资源 ──► 2.2 xim PR ──► 索引发布 ──► 2.5-1 删除 -r1
73- 2.3 plugins 0.15.2 ──► 发布 + index 登记 ──► 2.4 GalTranslPP PR2
73+ 2.3 plugins 0.15.2 ──► 发布 + index 登记 ──► 2.4验证工程PR2
7474```
7575
7676两条链互不阻塞:2.3 与 2.4 使用 ` 6.11.1 ` 键,该键今天已存在且内容已修正(见 §1 关键事实)。
@@ -83,7 +83,7 @@ E6 若查明警告来自插件(例如 rules-qt 在不需要 Qt 的构建程序
8383| mcpp-community/mcpp #711 | 发布物无法依赖另一个包按目标平台构建的可执行文件,只能借宿主工具边 | 否:本机构建结果正确;交叉编译时才会出错 |
8484| mcpp-community/mcpp #712 | ` xpkg_dir ` 把裸版本当字面 pin,xlings 则会匹配到四段版本键;已复现(libglvnd ` 1.7 ` → 装了 1.7.0.1,` xpkg_dir ` 返回空) | 否:写精确版本键即可避开 |
8585| openxlings/xlings #620 | 配方修订号独立于版本号 | 否:没有外部用户时就地修正(D4) |
86- | openxlings/xlings #621 | glibc 载荷没有 locale 数据,编译进去的 locale 路径不在载荷内 | 否:只是一条提示;GalTranslPP 仅构建 Windows,不受影响 |
86+ | openxlings/xlings #621 | glibc 载荷没有 locale 数据,编译进去的 locale 路径不在载荷内 | 否:只是一条提示;验证工程仅构建 Windows,不受影响 |
8787
8888不再提交:设置 ` QT_ROOT_DIR ` 时仍下载声明的 Qt。这是预期行为,按 E4 写进文档。
8989视 E2、E3 的结果,可能再提交"xlings 条目支持从工作区继承"。
@@ -92,7 +92,7 @@ E6 若查明警告来自插件(例如 rules-qt 在不需要 Qt 的构建程序
9292
9393| 风险 | 缓解 |
9494| ---| ---|
95- | 删除 ` 6.11.1.1 ` 后,仍书写 ` 6.11.1.1 ` 的消费方解析失败 | 已知消费方只有 plugins fixture 与 GalTranslPP ,二者均在本方案中改为 ` 6.11.1 ` |
95+ | 删除 ` 6.11.1.1 ` 后,仍书写 ` 6.11.1.1 ` 的消费方解析失败 | 已知消费方只有 plugins fixture 与验证工程 ,二者均在本方案中改为 ` 6.11.1 ` |
9696| 某处缓存仍恢复出修正前的 ` 6.11.1 ` 载荷 | 两处 CI 缓存 key 均升级;Linux widgets 打包检查会在闭包缺失时失败 |
9797| E2 或 E3 不被 mcpp 支持 | 回退为逐成员声明,不阻塞发布 |
9898
@@ -103,14 +103,14 @@ E6 若查明警告来自插件(例如 rules-qt 在不需要 Qt 的构建程序
103103| 2.1 brotli | GitCode 已上传规范名资源与 ` SHA256SUMS ` ,两端逐字节一致;GitHub 的 ` -r1 ` 已删除;GitCode 的 ` -r1 ` 待用户删除 |
104104| 2.2 xim | openxlings/xim-pkgindex #891 已合入(4c1dc850);发布后的索引中 qt、qt-base、qt-addons 只列出 ` 6.11.1 ` ;brotli 按规范名安装,带头文件 |
105105| 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 |
106- | E2 | 成员的 ` .workspace = true ` 可以与 ` features ` 、` host-module ` 同用。非成员的 ` gpp. build` 不能继承(mcpp#714),改为自带版本;若把它设为成员,根目录的 ` mcpp build ` 会把它当作目标构建并失败 |
106+ | E2 | 成员的 ` .workspace = true ` 可以与 ` features ` 、` host-module ` 同用。非成员的 ` build ` 不能继承(mcpp#714),改为自带版本;若把它设为成员,根目录的 ` mcpp build ` 会把它当作目标构建并失败 |
107107| E3 | 不成立:三种写法(带 cfg 的 target 表、` [target.linux] ` 、` [xlings.workspace] ` )写在根清单时,成员的构建程序都看不到载荷(mcpp#713)。回退为逐成员声明 |
108- | E6 警告来源 | 21 条 "no Qt SDK" 全部来自 ` gpp. build` :它启用 ` rules-qt ` 只为导入模块,自己没有 build.mcpp,mcpp 仍为它合成规则程序(mcpp#715)。0.15.2 让这种情况不再输出提示;新增 fixture ` qt-import-only ` |
109- | Qt 路径单点 | GalTranslPP 的 ` gpp::qt_root ` 与 ` gpp::qt_options() ` 汇集到一处:规则、发布布局、ElaWidgetTools 的 ` QT_SDK_DIR ` 都取同一个 SDK |
108+ | E6 警告来源 | 21 条 "no Qt SDK" 全部来自 ` build ` :它启用 ` rules-qt ` 只为导入模块,自己没有 build.mcpp,mcpp 仍为它合成规则程序(mcpp#715)。0.15.2 让这种情况不再输出提示;新增 fixture ` qt-import-only ` |
109+ | Qt 路径单点 | 验证工程的 ` gpp::qt_root ` 与 ` gpp::qt_options() ` 汇集到一处:规则、发布布局、ElaWidgetTools 的 ` QT_SDK_DIR ` 都取同一个 SDK |
110110
111111新发现并已提交的 mcpp issue:#713 (根清单的 xlings 声明对成员不可见)、#714 (非成员的 ` .workspace = true ` 变成空版本)、
112112#715 (没有设备源也合成规则程序)、#716 (provisioning 印记在载荷删除后仍然有效)。
113- | 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 ` |
113+ | 2.4验证工程 | 验证工程 提交 43ee88f,run 36272623612 全绿。首次 emit 258 s;cli 6.2 min;gui 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 ` |
114114
115115构建后再次 emit 需要 62 s,原因有二:
116116
0 commit comments