#!/usr/bin/env bash # 构建带版本号的 Windows exe。 # # 用法:./scripts/build-windows.sh [amd64|arm64] # 产物:build/bin/huya-gui-v<版本>.exe # # 版本号从 internal/version/version.go 读取,保证 exe 文件名、编译进去的版本号 # 与界面显示三者一致,不需要在多个地方手改。 set -euo pipefail cd "$(dirname "$0")/.." ARCH="${1:-amd64}" VERSION="$(sed -n 's/^var Version = "\(.*\)"$/\1/p' internal/version/version.go)" if [ -z "${VERSION}" ]; then echo "无法从 internal/version/version.go 读取版本号" >&2 exit 1 fi OUT="huya-gui-v${VERSION}.exe" echo "构建 windows/${ARCH} -> build/bin/${OUT} (版本 v${VERSION})" # -nopackage:交叉编译时不生成 NSIS 安装包,只产出 exe。 wails build \ -platform "windows/${ARCH}" \ -clean \ -nopackage \ -o "${OUT}" \ -ldflags "-X huya-go/internal/version.Version=${VERSION}" echo "完成: build/bin/${OUT}"