main
parent
92010207b5
commit
1e740e8288
@ -1,106 +1,72 @@ |
||||
#!/bin/bash |
||||
|
||||
# HD4K下载器 - 跨平台构建脚本 |
||||
# 构建 Windows 和 macOS 版本到 build 文件夹 |
||||
|
||||
echo "========================================" |
||||
echo "HD4K下载器 - 跨平台构建" |
||||
echo "========================================" |
||||
|
||||
# 设置变量 |
||||
APP_NAME="hd4k-downloader" |
||||
VERSION="1.0.0" |
||||
BUILD_DIR="./build" |
||||
SRC_DIR="./src" |
||||
|
||||
echo "创建构建目录..." |
||||
# 创建build目录(如果不存在) |
||||
mkdir -p "${BUILD_DIR}" |
||||
# 检查Go环境 |
||||
if ! command -v go &> /dev/null; then |
||||
echo "错误: 未安装 Go" |
||||
exit 1 |
||||
fi |
||||
|
||||
echo "清理旧文件..." |
||||
# 清理build目录中的旧文件 |
||||
rm -f "${BUILD_DIR}/${APP_NAME}-windows.exe" |
||||
rm -f "${BUILD_DIR}/${APP_NAME}-macos" |
||||
rm -f "${BUILD_DIR}/${APP_NAME}-macos-arm64" |
||||
echo "Go版本: $(go version)" |
||||
|
||||
echo "" |
||||
echo "开始构建 Windows 版本 (amd64)..." |
||||
echo "----------------------------------------" |
||||
GOOS=windows GOARCH=amd64 go build -o "${BUILD_DIR}/${APP_NAME}-windows.exe" main.go handler.go downloader.go |
||||
# 清理并创建目录 |
||||
echo "准备目录..." |
||||
rm -rf "${BUILD_DIR}" |
||||
mkdir -p "${BUILD_DIR}" |
||||
|
||||
# 复制整个src文件夹 |
||||
echo "复制前端文件..." |
||||
if [ -d "${SRC_DIR}" ]; then |
||||
cp -r "${SRC_DIR}" "${BUILD_DIR}/" |
||||
echo "✅ 复制 src 文件夹" |
||||
else |
||||
echo "❌ 找不到 src 文件夹" |
||||
exit 1 |
||||
fi |
||||
|
||||
# 构建Windows版本 |
||||
echo "构建Windows版本..." |
||||
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o "${BUILD_DIR}/hd4k-downloader-windows.exe" main.go |
||||
if [ $? -eq 0 ]; then |
||||
echo "✅ Windows版本构建成功" |
||||
echo " 文件: ${BUILD_DIR}/${APP_NAME}-windows.exe" |
||||
echo " 大小:" $(ls -lh "${BUILD_DIR}/${APP_NAME}-windows.exe" | awk '{print $5}') |
||||
else |
||||
echo "❌ Windows版本构建失败" |
||||
fi |
||||
|
||||
echo "" |
||||
echo "开始构建 macOS 版本 (Intel amd64)..." |
||||
echo "----------------------------------------" |
||||
GOOS=darwin GOARCH=amd64 go build -o "${BUILD_DIR}/${APP_NAME}-macos-intel" main.go handler.go downloader.go |
||||
|
||||
# 构建macOS Intel版本 |
||||
echo "构建macOS Intel版本..." |
||||
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o "${BUILD_DIR}/hd4k-downloader-macos-intel" main.go |
||||
if [ $? -eq 0 ]; then |
||||
echo "✅ macOS Intel版本构建成功" |
||||
echo " 文件: ${BUILD_DIR}/${APP_NAME}-macos-intel" |
||||
echo " 大小:" $(ls -lh "${BUILD_DIR}/${APP_NAME}-macos-intel" | awk '{print $5}') |
||||
chmod +x "${BUILD_DIR}/${APP_NAME}-macos-intel" |
||||
chmod +x "${BUILD_DIR}/hd4k-downloader-macos-intel" |
||||
else |
||||
echo "❌ macOS Intel版本构建失败" |
||||
fi |
||||
|
||||
echo "" |
||||
echo "开始构建 macOS 版本 (Apple Silicon arm64)..." |
||||
echo "----------------------------------------" |
||||
GOOS=darwin GOARCH=arm64 go build -o "${BUILD_DIR}/${APP_NAME}-macos-arm" main.go handler.go downloader.go |
||||
|
||||
# 构建macOS ARM版本 |
||||
echo "构建macOS ARM版本..." |
||||
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o "${BUILD_DIR}/hd4k-downloader-macos-arm" main.go |
||||
if [ $? -eq 0 ]; then |
||||
echo "✅ macOS Apple Silicon 版本构建成功" |
||||
echo " 文件: ${BUILD_DIR}/${APP_NAME}-macos-arm" |
||||
echo " 大小:" $(ls -lh "${BUILD_DIR}/${APP_NAME}-macos-arm" | awk '{print $5}') |
||||
chmod +x "${BUILD_DIR}/${APP_NAME}-macos-arm" |
||||
echo "✅ macOS ARM版本构建成功" |
||||
chmod +x "${BUILD_DIR}/hd4k-downloader-macos-arm" |
||||
else |
||||
echo "❌ macOS Apple Silicon 版本构建失败" |
||||
echo "❌ macOS ARM版本构建失败" |
||||
fi |
||||
|
||||
echo "" |
||||
echo "========================================" |
||||
echo "构建完成!" |
||||
echo "========================================" |
||||
echo "" |
||||
echo "生成的文件在 build/ 目录:" |
||||
echo "----------------------------------------" |
||||
ls -lh "${BUILD_DIR}/" | grep -v "^total" |
||||
echo "" |
||||
|
||||
echo "使用方法:" |
||||
echo "----------------------------------------" |
||||
echo "" |
||||
echo "Windows:" |
||||
echo " 双击 ${APP_NAME}-windows.exe" |
||||
echo " 或命令行: ${BUILD_DIR}/${APP_NAME}-windows.exe -port=8888 -dir=./downloads" |
||||
echo "" |
||||
echo "macOS (Intel芯片):" |
||||
echo " 终端执行: ${BUILD_DIR}/${APP_NAME}-macos-intel -port=8888 -dir=./downloads" |
||||
echo "" |
||||
echo "macOS (Apple Silicon M1/M2/M3芯片):" |
||||
echo " 终端执行: ${BUILD_DIR}/${APP_NAME}-macos-arm -port=8888 -dir=./downloads" |
||||
echo "" |
||||
echo "常用参数:" |
||||
echo " -port=端口号 指定服务端口(默认: 8888)" |
||||
echo " -dir=目录路径 指定下载目录(默认: ./downloads)" |
||||
echo "" |
||||
echo "示例:" |
||||
echo " # 使用自定义端口" |
||||
echo " ${BUILD_DIR}/${APP_NAME}-macos-intel -port=9999" |
||||
echo "" |
||||
echo " # 使用自定义下载目录" |
||||
echo " ${BUILD_DIR}/${APP_NAME}-windows.exe -dir=D:\\下载" |
||||
echo "" |
||||
echo " # 完整示例" |
||||
echo " ${BUILD_DIR}/${APP_NAME}-macos-arm -port=9000 -dir=~/Downloads/" |
||||
echo "" |
||||
echo "服务启动后访问:" |
||||
echo " API接口: http://127.0.0.1:端口号/api/save_imgs" |
||||
echo " 测试页面: http://127.0.0.1:端口号/index.html" |
||||
echo "========================================" |
||||
find "${BUILD_DIR}" -type f | while read file; do |
||||
rel_path="${file#${BUILD_DIR}/}" |
||||
if [[ "$file" == *.exe ]] || [[ "$file" == *-macos-* ]]; then |
||||
echo "📦 $rel_path" |
||||
else |
||||
echo " $rel_path" |
||||
fi |
||||
done |
||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue