You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
ImagesDownloader/build.sh

106 lines
3.6 KiB

#!/bin/bash
# HD4K下载器 - 跨平台构建脚本
# 构建 Windows 和 macOS 版本到 build 文件夹
echo "========================================"
echo "HD4K下载器 - 跨平台构建"
echo "========================================"
# 设置变量
APP_NAME="hd4k-downloader"
VERSION="1.0.0"
BUILD_DIR="./build"
echo "创建构建目录..."
# 创建build目录(如果不存在)
mkdir -p "${BUILD_DIR}"
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 ""
echo "开始构建 Windows 版本 (amd64)..."
echo "----------------------------------------"
GOOS=windows GOARCH=amd64 go build -o "${BUILD_DIR}/${APP_NAME}-windows.exe" main.go handler.go downloader.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
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"
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
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"
else
echo "❌ macOS Apple Silicon 版本构建失败"
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 "========================================"