Drupal 12 将于今年晚些时候正式发布。和以往所有大版本更新一样,第三方扩展生态需要针对破坏性变更完成适配升级。数千个模块与主题都要改写内部废弃接口调用代码,才能兼容新版本。如果社区开发者手动完成全部第三方扩展的改造,将耗费难以估量的工时。
而项目更新机器人(Project Update Bot)正是为解决这项工作而生。我们已对该工具完成全面升级,当前适配目标为 Drupal 12 兼容改造:它可自动扫描各类第三方扩展项目,并自动创建工单、附带修复补丁,批量处理代码里废弃 API 的调用问题。
如果你是模块维护者,想必早已熟悉这款机器人工具。针对 Drupal 12 适配周期,我们扩充了 Rector 规则库,现已覆盖该版本中超过 80% 的废弃接口调用场景。整套成熟工具链分工清晰:由 Gábor Hojtsy 开发的「升级状态(Upgrade Status)」负责代码分析,Drupal Rector 提供自动化修复逻辑;后者目前由 SWIS 团队主要维护,而项目分析(Project Analysis)则作为核心调度工具串联整套流程。
本次更新有两大核心优化:
其一,规则覆盖范围大幅完善,部分新增规则基于 Dries Buytaert 发布的 drupal-digests 文档,由 AI 自动生成;
其二,代码分析阶段现已支持解析子模块依赖关系。此前版本虽能扫描子模块,但无法识别其关联依赖,时常导致扫描中断、误报错误;该问题现已修复,输出结果更干净,精准度大幅提升。
机器人生成的补丁会同步推送至 GitLab 工单或 Drupal.org 工单,两者操作逻辑略有区别。机器人创建的每一条工单都会附带完整说明,告知维护者如何应用补丁、暂停机器人自动处理或直接关闭工单,项目的全部操作权限始终掌握在你手中。
如有疑问或有意参与协作,欢迎前往 Drupal Slack 的 #d12readiness 频道交流。若你发现补丁存在错误,可在 Drupal Rector 或 project_analysis 项目队列提交工单反馈,我们会统一修正对应规则,惠及所有开发者。
该机器人依托 Upgrade Status、Drupal Rector、drupal-digests 等多款开源工具的开发成果搭建而成。同时感谢所有允许我们在其代码仓库测试新版机器人的各项目维护者。


