MaaAssistantArknights / MaaRelease

【仅供内部使用】管理 MAA 各更新版本、MAA Version API、部分镜像脚本等内容
https://maa.plus
GNU Affero General Public License v3.0
65 stars 23 forks source link

[RFC] 组件拆分 & 统一更新机制 #160

Open dantmnf opened 2 months ago

dantmnf commented 2 months ago

issue 正文:

TLDR

将 MAA 拆分为多个组件,每个更新通道指定各个组件的版本,各个组件使用统一机制进行增量更新(暂称 MAA Update Engine)。

同一版本组件可以有多个变体(OS / 架构)或没有变体(资源文件)。

实现

拆分的组件

发版流程

发版时,各个组件×变体单独生成 #146 中定义的增量更新包,同时生成大发布包(即现 MAA-v5.5.0-win-x64.zip)供首次下载使用。发布增量更新包前通过 CI 检查各个受支持的版本可以正常应用增量更新。

更新流程

检查更新时,从发布 API 拉取本通道的各个组件版本,与当前版本不匹配的组件进入增量更新流程。

其他说明

各个通道中的游戏资源组件同步更新,取代当前基于 HTTP cache 的更新方式。

Mac 版本:谁啊,不认识。 由于林檎的二进制签名(公证)要求,需要让专业的人来.jpg