Files
opendance-windows/tasks/011-build-script.md
T
opendance 4913760a8b docs: 消除 Gitea 模棱两可 Unicode 告警(全角标点紧邻 ASCII 时改为半角)
依据 Gitea v1.27.3 modules/charset/escape_stream.go 的判定规则
(analyzeDetectResults:仅当左右相邻字符都不是非 ASCII 时才标记,
且 _common 表恒定生效),把说明文档中会被标记的全角标点
(,:;?!() 等)改为半角,并保证成对括号宽度一致。
中文语境中的全角标点(左右均为中文)保持原样,不动代码与契约语义。
2026-09-15 21:45:51 +08:00

1.9 KiB

T-WIN-011 Windows 打包脚本

  • 状态: done
  • 依赖: T-WIN-001 ~ 010

目标

提供 Linux 直接导出(方案 A,推荐)与 Windows 端兜底(方案 B)两条打包路径。

load

DSH.md
build/export-windows.sh
build/export-windows.ps1
export_presets.cfg

交付物

文件 说明
export_presets.cfg 导出预设(必须在项目根目录, Godot 硬性要求)
build/export-windows.sh Linux 导出:定位 Godot -> 检查模板 -> 导入 -> 导出 -> 校验 PE 头
build/export-windows.ps1 Windows 兜底:同上,产物路径与校验逻辑一致

脚本健壮性

  • GODOT_BIN 环境变量或 PATH 自动定位 Godot,缺失时给出可执行的安装指引
  • 导出模板缺失时明确报错并给出下载与安装路径
  • 导出命令返回非 0 时仍检查产物是否存在(Godot 有时非 0 返回但产物有效)
  • 读取产物前 2 字节校验 MZ(PE 头),防止导出静默产出空壳

验收(文档 5.4)

验收项 结果
Linux: bash build/export-windows.sh 成功生成 exe ✅ 生成 OpenDance.exe 104 MB + OpenDance.pck 107 KB, PE 头校验通过
Windows: powershell build/export-windows.ps1 成功生成 exe ⚠️ 脚本就绪,本环境无 Windows,未实机执行
生成的 exe 在 Windows 10/11 可运行 ⚠️ 本环境无 Windows;已校验为合法 PE32+ x86_64 可执行文件
THIRD_PARTY.md 包含所有开源项目与源链接 ✅ 15 项,与契约表逐条一致

打包产物

opendance-windows-v0.1.0.zip
├── OpenDance.exe
├── OpenDance.pck
├── THIRD_PARTY.md
├── README.txt
└── contracts/          # 契约快照

环境记录

  • Godot 4.7.2.stable(ed1daf0bf)
  • 导出模板 4.7.2.stable(windows_release_x86_64.exe)
  • 首次导出失败原因:export_presets.cfg 放在 build/ 下,Godot 只在项目根目录查找