diff --git a/docs/task/102-client发布产物命名规范.md b/docs/task/102-client发布产物命名规范.md index 229a658..0efaab6 100644 --- a/docs/task/102-client发布产物命名规范.md +++ b/docs/task/102-client发布产物命名规范.md @@ -10,7 +10,7 @@ ## 背景与目标 原发布文件名同时使用连字符、英文后缀和 Unicode 破折号,不便于人工识别,也缺少 -稳定的在线清单入口。本任务统一 0.2.2 发布产物名称,同时兼容已保存旧默认清单地址 +稳定的在线清单入口。本任务统一 0.1.0 发布产物名称,同时兼容已保存旧默认清单地址 的 Client。 ## 最终方案 @@ -20,8 +20,11 @@ - 复制版本化便携包为 `自动采集采购工具.zip`,两份文件逐字节相同。 - 固定清单使用 `autobuy_manifest.json`,并复制出内容相同的 `autobuy_manifest_<版本>.json` 供归档。 -- 清单只引用带版本号的 ZIP,并记录实际文件大小和 SHA256。 +- 清单的更新包引用带版本号的 ZIP,便携包固定引用 + `自动采集采购工具.zip`,并记录实际文件大小和 SHA256。 - Client 默认读取固定清单;本地地址完全等于旧默认值时自动迁移,自定义地址不改。 +- 首次实现后,用户确认 Manifest 的便携包字段应使用不带版本号的固定文件名,并要求 + 当前版本保持 0.1.0;最终实现和验收数据已按该反馈调整。 - 构建验证时发现 Windows PowerShell 5 会按系统代码页读取无 BOM 脚本中的中文, 因此中文便携包名称改用 Unicode 码点构造。这是对原实现方案的必要补充,发布名称 和用户确认的方案没有变化。 @@ -32,7 +35,7 @@ - `client/build_tools/release_manifest.py`:更新固定清单名并校验版本化清单名。 - `client/src/update_service.py`、`client/src/update_ui_event.py`:更新默认清单地址并迁移 旧默认值。 -- `client/src/version.py`:版本升级为 0.2.2。 +- `client/src/version.py`:按用户确认保持版本为 0.1.0。 - `client/src/settings_ui.py`:更新清单地址占位示例。 - `client/test/test_packaging.py`、`client/test/test_update_service.py`、 `client/test/test_update_ui_event.py`:补充命名和配置迁移测试。 @@ -43,10 +46,10 @@ | 验收标准 | 结果 | |---|---| -| 更新包为 `CMAutoBuy_0.2.2.zip`,且只包含 `app/` | 通过 | +| 更新包为 `CMAutoBuy_0.1.0.zip`,且只包含 `app/` | 通过 | | 生成两个约定的便携包,且字节和 SHA256 相同 | 通过 | | 生成固定与版本化清单,且内容相同 | 通过 | -| 清单内文件名、大小和 SHA256 与版本化 ZIP 一致 | 通过 | +| 清单引用版本化更新包和固定便携包别名,大小及 SHA256 一致 | 通过 | | Client 默认读取固定清单 | 通过 | | 旧默认地址自动迁移,自定义地址不变 | 通过 | | 在线更新文件名使用 ASCII,人工便携包使用中文 | 通过 | @@ -61,17 +64,18 @@ - `C:/Python310/python.exe -m pytest test/test_packaging.py -q --disable-warnings` - `.\build_client.bat` - 使用 Python 校验发布文件集合、别名字节、清单大小与 SHA256、ZIP 内部结构。 - - 离屏启动 `release/CMAutoBuy-0.2.2/Launcher.exe`,核对进程及文件版本。 + - 离屏启动 `release/CMAutoBuy-0.1.0/Launcher.exe`,核对进程及文件版本。 - 结果:针对性测试 31 项、全量测试 267 项、打包测试复跑 10 项全部通过;实际构建 - 成功,Launcher 启动版本为 0.2.2。 -- **没验证到的部分**:未把 0.2.2 产物上传真实发布服务器;未从已保存旧默认地址的 + 成功,Launcher 启动版本为 0.1.0。 +- **没验证到的部分**:未把 0.1.0 产物上传真实发布服务器;未从已保存旧默认地址的 旧版 Client 完成一次真实在线下载、替换和回退流程。 ## 遗留问题 -服务器发布 0.2.2 时,应先上传新 ZIP 与 `autobuy_manifest.json`,并暂时保留旧的 +服务器发布 0.1.0 时,应先上传新 ZIP 与 `autobuy_manifest.json`,并暂时保留旧的 `autobuy——manifest.json`,避免尚未升级的旧 Client 无法发现新版本。 ## 相关提交 - `240626f` feat: 统一 Client 发布产物命名 (#102) +- `4dbe519` fix: 使用固定便携包清单名称 (#102)