Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
dantmnf opened this issue Aug 2, 2024 · 0 comments
Open

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

dantmnf opened this issue Aug 2, 2024 · 0 comments

Comments

@dantmnf
Copy link

dantmnf commented Aug 2, 2024

issue 正文:

TLDR

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

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

实现

拆分的组件

  • Core - 平台相关(多个 OS / 架构变体)
    • MaaCore.dll
    • opencv_world4_maa.dll 等依赖库
  • Core - 平台无关(无变体)
    • tasks.json 与模板文件
  • WPF GUI(平台相关)
    • MAA.exe (理论上也可以做成平台无关 MAA.dll + 平台相关 launcher?)
  • 游戏资源(平台无关)
    • 现 MaaResource
  • 其他关联项目(CLI、Wine bridge 等)

发版流程

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

更新流程

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

其他说明

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

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

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

No branches or pull requests

1 participant