Skip to content

[refactor] 保留 Builder 原有接口并分离 MCP 复合流程 - #1009

Closed
yanOO1497 wants to merge 3 commits into
cocos:mainfrom
yanOO1497:codex/builder-managed-execution
Closed

yanOO1497 wants to merge 3 commits into
cocos:mainfrom
yanOO1497:codex/builder-managed-execution

Conversation

@yanOO1497

@yanOO1497 yanOO1497 commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

动机

PinK 需要逐步骤管理构建队列、取消、历史记录、联合平台和插件钩子。CLI lib 本次抽离的构建与通用阶段接口保留原有 API 名称并执行当前步骤,原有阶段快捷接口保持行为兼容;CLI 命令和 MCP 使用显式复合入口,维持已有 nextStages 与联合平台行为。

改动概要

  • 保留 lib 的 build/createBuildTask/executeBuildStageTask/createBuildStageTask 原有名称和调用方式,将这些构建与通用阶段接口抽离为单个平台、单个阶段的原子操作。移除本 PR 早先新增的重复 UnitTask 接口,BuildTask.run 本身只执行当前平台。
  • MCP 和命令行显式调用 buildWorkflow/executeBuildStageWorkflow。复合入口不从 lib 导出;MCP schema、参数格式和原有支持范围不扩大。原有 lib make/run/upload/publish 保持 Launcher 调用路径与改造前行为,不属于本次原子化范围。
  • 参数准备与最终执行分离为 resolveBuildOptions/createResolvedBuildTask,允许宿主在标准化后执行前置钩子。createBuildStageTask 保留原有三参数调用,并以可选四参数接收最终完整配置,钩子删除的字段不会被重新补回。
  • 提供最新产物配置读取、父子目标查询、子平台请求派生与子产物登记能力。参数使用独立快照,执行顺序、队列、历史及 PinK 插件运行时由 PinK 管理。
  • 更新原子接口设计、声明快照与回归测试;配套修正阶段参数合并时产物目录应使用已解析路径。

配套依赖与合入顺序

  1. 本 PR,目标 main。
  2. PinK 构建任务与钩子统一改造 ,目标 main,宿主同步使用调整后的 CLI 工厂。
  3. Builder 插件迁移 ,目标 main,删除页面侧重复执行逻辑。

本次原子化的构建与通用阶段接口保留名称,但不再隐式调度子平台与后续阶段,由调用方组合操作。原有 make/run/upload/publish 维持兼容行为。PinK 与 CLI 需配套发布,CLI 自身命令和 MCP 的使用方式保持兼容。

测试计划(测试)

  • 通过原有 lib build/createBuildTask 提交 nextStages/subTaskPlatforms,或在 CLI 平台生命周期内写入这些参数 → 只执行当前平台,不隐式调度额外步骤。
  • 通过 executeBuildStageTask 操作含联合产物清单的输出 → 只执行目标平台的当前阶段。
  • 通过原有 lib make/run/upload/publish 调用 → 保持原有 Launcher 初始化、服务启动及联合阶段行为;参数、返回值和异常透传不变。
  • 通过原 CLI 命令或 MCP 发起原先支持的联合流程 → 继续执行并汇总已有子平台及后续阶段,不增加新支持范围。
  • 标准化后由宿主钩子删除配置,再创建最终句柄 → 字段不被默认值或历史配置补回,调用方参数不被共享修改。
  • 上一阶段更新产物配置后执行下一阶段 → 读取最新产物;损坏配置明确报错。

验证说明

  • CLI TypeScript 编译、声明生成通过。
  • 11 个相关测试套件、54 项测试通过,覆盖原子构建/阶段、原有 lib 名称、MCP build/upload/publish/schema、联合流程与钩子配置。
  • 声明测试 13 项通过,12 个快照匹配更新后的 API;公开 builder 声明不含重复 UnitTask 或复合 Workflow 入口。
  • 配套 PinK 类型检查及宿主调度 55 项测试通过,使用本次生成的 CLI 声明和增量编译后的宿主代码。
  • 尚未在真实工程中验证完整打包、签名和上传;跨仓库配套验收前保持草稿。

@yanOO1497 yanOO1497 changed the title [refactor] 提供由宿主编排的 Builder 原子接口 [refactor] 保留 Builder 原有接口并分离 MCP 复合流程 Oct 28, 2026
@yanOO1497 yanOO1497 closed this Oct 28, 2026
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