跳转至

打包

packaging 把 executable 与离开开发 checkout 运行所需的准确 data、graphics、translation、 shader、library、license、launcher/support file 和平台 metadata 组装起来。编译成功不等于 package 成功。

权威入口

使用当前 release workflow、Makefile install/package target、Gradle Android bundle task 和 build-scripts/ 平台 helper。build-scripts/windist.ps1 拥有 Windows distribution staging;Android Gradle 拥有 APK/AAB 内容;release job 拥有最终 artifact 名与上传。

可复现输入

记录 source commit/tag、toolchain/dependency revision、feature flag(curses/tiles、SDL2/SDL3、 sound、localization、Lua)、architecture/ABI、build type、translation artifact、shader artifact 与 asset source。不能从不干净开发目录随意捡文件打包。

平台检查

  • Linux:检查 dynamic dependency/预期 static set、data path、executable bit、desktop/icon metadata 与 archive extraction;
  • Windows:在无 developer PATH 环境测试,检查 DLL/PDB pairing 与 path case/encoding;
  • Android:检查 variant/ABI、manifest、asset/native library、version code/name、signature、 install/upgrade 与真机启动。

Smoke test

解压/安装到干净位置,启动,创建/读取 world,验证 JSON/Mod loading、目标 build 的 Lua API、 translation、font、tiles、sound、shader variant、save/write path 与干净 shutdown;明确报告 每个有意省略 feature。

安全与许可证

signing key、password、service token 与 local certificate 留在 tracked file/log 外。包含所需 license/attribution 与 source/commit reference。对最终 artifact 扫描意外 credential/本地 path,不能只检查源码 checkout。

Artifact 政策

除非 checked generated-file policy 明确规定,不提交 package、build directory、symbol 或 生成 shader/translation output。package 与匹配 symbol 作为 CI/release artifact 上传,并 记录 retention/restore。