++
This commit is contained in:
@@ -1,106 +1,72 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# HD4K下载器 - 跨平台构建脚本
|
# HD4K下载器 - 跨平台构建脚本
|
||||||
# 构建 Windows 和 macOS 版本到 build 文件夹
|
|
||||||
|
|
||||||
echo "========================================"
|
|
||||||
echo "HD4K下载器 - 跨平台构建"
|
echo "HD4K下载器 - 跨平台构建"
|
||||||
echo "========================================"
|
|
||||||
|
|
||||||
# 设置变量
|
# 设置变量
|
||||||
APP_NAME="hd4k-downloader"
|
|
||||||
VERSION="1.0.0"
|
|
||||||
BUILD_DIR="./build"
|
BUILD_DIR="./build"
|
||||||
|
SRC_DIR="./src"
|
||||||
|
|
||||||
echo "创建构建目录..."
|
# 检查Go环境
|
||||||
# 创建build目录(如果不存在)
|
if ! command -v go &> /dev/null; then
|
||||||
|
echo "错误: 未安装 Go"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Go版本: $(go version)"
|
||||||
|
|
||||||
|
# 清理并创建目录
|
||||||
|
echo "准备目录..."
|
||||||
|
rm -rf "${BUILD_DIR}"
|
||||||
mkdir -p "${BUILD_DIR}"
|
mkdir -p "${BUILD_DIR}"
|
||||||
|
|
||||||
echo "清理旧文件..."
|
# 复制整个src文件夹
|
||||||
# 清理build目录中的旧文件
|
echo "复制前端文件..."
|
||||||
rm -f "${BUILD_DIR}/${APP_NAME}-windows.exe"
|
if [ -d "${SRC_DIR}" ]; then
|
||||||
rm -f "${BUILD_DIR}/${APP_NAME}-macos"
|
cp -r "${SRC_DIR}" "${BUILD_DIR}/"
|
||||||
rm -f "${BUILD_DIR}/${APP_NAME}-macos-arm64"
|
echo "✅ 复制 src 文件夹"
|
||||||
|
else
|
||||||
echo ""
|
echo "❌ 找不到 src 文件夹"
|
||||||
echo "开始构建 Windows 版本 (amd64)..."
|
exit 1
|
||||||
echo "----------------------------------------"
|
fi
|
||||||
GOOS=windows GOARCH=amd64 go build -o "${BUILD_DIR}/${APP_NAME}-windows.exe" main.go handler.go downloader.go
|
|
||||||
|
|
||||||
|
# 构建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
|
if [ $? -eq 0 ]; then
|
||||||
echo "✅ Windows版本构建成功"
|
echo "✅ Windows版本构建成功"
|
||||||
echo " 文件: ${BUILD_DIR}/${APP_NAME}-windows.exe"
|
|
||||||
echo " 大小:" $(ls -lh "${BUILD_DIR}/${APP_NAME}-windows.exe" | awk '{print $5}')
|
|
||||||
else
|
else
|
||||||
echo "❌ Windows版本构建失败"
|
echo "❌ Windows版本构建失败"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
# 构建macOS Intel版本
|
||||||
echo "开始构建 macOS 版本 (Intel amd64)..."
|
echo "构建macOS Intel版本..."
|
||||||
echo "----------------------------------------"
|
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o "${BUILD_DIR}/hd4k-downloader-macos-intel" main.go
|
||||||
GOOS=darwin GOARCH=amd64 go build -o "${BUILD_DIR}/${APP_NAME}-macos-intel" main.go handler.go downloader.go
|
|
||||||
|
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo "✅ macOS Intel版本构建成功"
|
echo "✅ macOS Intel版本构建成功"
|
||||||
echo " 文件: ${BUILD_DIR}/${APP_NAME}-macos-intel"
|
chmod +x "${BUILD_DIR}/hd4k-downloader-macos-intel"
|
||||||
echo " 大小:" $(ls -lh "${BUILD_DIR}/${APP_NAME}-macos-intel" | awk '{print $5}')
|
|
||||||
chmod +x "${BUILD_DIR}/${APP_NAME}-macos-intel"
|
|
||||||
else
|
else
|
||||||
echo "❌ macOS Intel版本构建失败"
|
echo "❌ macOS Intel版本构建失败"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
# 构建macOS ARM版本
|
||||||
echo "开始构建 macOS 版本 (Apple Silicon arm64)..."
|
echo "构建macOS ARM版本..."
|
||||||
echo "----------------------------------------"
|
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o "${BUILD_DIR}/hd4k-downloader-macos-arm" main.go
|
||||||
GOOS=darwin GOARCH=arm64 go build -o "${BUILD_DIR}/${APP_NAME}-macos-arm" main.go handler.go downloader.go
|
|
||||||
|
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -eq 0 ]; then
|
||||||
echo "✅ macOS Apple Silicon 版本构建成功"
|
echo "✅ macOS ARM版本构建成功"
|
||||||
echo " 文件: ${BUILD_DIR}/${APP_NAME}-macos-arm"
|
chmod +x "${BUILD_DIR}/hd4k-downloader-macos-arm"
|
||||||
echo " 大小:" $(ls -lh "${BUILD_DIR}/${APP_NAME}-macos-arm" | awk '{print $5}')
|
|
||||||
chmod +x "${BUILD_DIR}/${APP_NAME}-macos-arm"
|
|
||||||
else
|
else
|
||||||
echo "❌ macOS Apple Silicon 版本构建失败"
|
echo "❌ macOS ARM版本构建失败"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "========================================"
|
|
||||||
echo "构建完成!"
|
echo "构建完成!"
|
||||||
echo "========================================"
|
|
||||||
echo ""
|
|
||||||
echo "生成的文件在 build/ 目录:"
|
echo "生成的文件在 build/ 目录:"
|
||||||
echo "----------------------------------------"
|
find "${BUILD_DIR}" -type f | while read file; do
|
||||||
ls -lh "${BUILD_DIR}/" | grep -v "^total"
|
rel_path="${file#${BUILD_DIR}/}"
|
||||||
echo ""
|
if [[ "$file" == *.exe ]] || [[ "$file" == *-macos-* ]]; then
|
||||||
|
echo "📦 $rel_path"
|
||||||
echo "使用方法:"
|
else
|
||||||
echo "----------------------------------------"
|
echo " $rel_path"
|
||||||
echo ""
|
fi
|
||||||
echo "Windows:"
|
done
|
||||||
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 "========================================"
|
|
||||||
-1702
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user