Skip to content

[refactor] 提供由宿主编排的 Builder 原子接口 - #1009

Draft
yanOO1497 wants to merge 1 commit into
cocos:mainfrom
yanOO1497:codex/builder-managed-execution
Draft

yanOO1497 wants to merge 1 commit into
cocos:mainfrom
yanOO1497:codex/builder-managed-execution

Conversation

@yanOO1497

@yanOO1497 yanOO1497 commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

动机

PinK 需要统一管理构建队列、取消、历史记录、联合平台和关联阶段,并在每个实际步骤执行平台钩子。原 CLI 库入口会根据 nextStages/subTaskPlatforms 隐式执行后续流程,使宿主无法逐步骤调用钩子,UI 与 API 调度的行为也难以保持一致。

改动概要

  • 将库入口 build/createBuildTask 和阶段入口改为单个平台、单个阶段的原子操作;即使平台生命周期写入后续流程参数,也不会在单步骤入口执行额外任务。
  • 拆分参数标准化与最终配置工厂,允许宿主在标准化后执行 pre hook。最终工厂使用独立快照,不重新补回钩子删除的字段。
  • 提供最新产物配置读取、父子目标查询、子平台请求派生与子产物登记能力,由宿主决定执行顺序。子平台参数从当前生成配置派生。
  • CLI 命令与 MCP 继续使用原兼容编排入口,保留原先支持的后续阶段和联合平台行为;MCP schema 与支持范围不扩大。
  • 新增原子接口设计说明和回归测试。CLI 不接管 PinK 的业务队列、历史或插件运行时。

配套依赖与合入顺序

  1. 本 PR,目标为 main。
  2. PinK 构建任务与钩子统一改造,目标为 release/0.0.2.0。
  3. Builder 插件迁移,目标 main,删除页面侧重复执行逻辑。

库接口的编排语义发生变化,库调用方需接管后续步骤。PinK 与 Builder 需要配套发布;CLI 自身命令和 MCP 使用方式保持兼容。

测试计划(测试)

  • 通过库入口提交包含 nextStages/subTaskPlatforms 的构建 → 只执行当前平台,宿主可另行执行子平台和后续阶段。
  • 通过原 CLI 命令或 MCP 发起原先支持的关联流程 → 继续执行并汇总已有后续阶段,未增加新支持范围。
  • 标准化后由宿主钩子删除配置字段,再创建最终句柄 → 字段不会被默认值或旧配置补回,调用方参数不被共享修改。
  • 上一阶段更新产物配置后,再读取并执行下一阶段 → 使用最新产物参数;损坏的配置应明确报错。

验证说明

  • TypeScript 检查和声明生成通过。
  • 7 个相关测试套件、25 项测试通过,覆盖原子构建、阶段工厂、库入口和原 MCP build/upload/publish/schema 路径。
  • 使用本次生成的声明,配套 PinK 类型检查和 92 项相关测试通过;任务事件与偏好测试另经 Electron 42.2 测试器验证。
  • 尚未在真实工程中验证完整打包、签名和上传;跨仓库配套验收前保持草稿。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant