#!/bin/bash # Images下载器 - 跨平台构建脚本 echo "Images下载器 - 跨平台构建" # 设置变量 BUILD_DIR="./build" SRC_DIR="./src" # 检查Go环境 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}" # 复制整个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}/images-downloader-windows.exe" main.go if [ $? -eq 0 ]; then echo "✅ Windows版本构建成功" else echo "❌ Windows版本构建失败" fi # 构建macOS Intel版本 echo "构建macOS Intel版本..." GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o "${BUILD_DIR}/images-downloader-macos-intel" main.go if [ $? -eq 0 ]; then echo "✅ macOS Intel版本构建成功" chmod +x "${BUILD_DIR}/images-downloader-macos-intel" else echo "❌ macOS Intel版本构建失败" fi # 构建macOS ARM版本 echo "构建macOS ARM版本..." GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o "${BUILD_DIR}/images-downloader-macos-arm" main.go if [ $? -eq 0 ]; then echo "✅ macOS ARM版本构建成功" chmod +x "${BUILD_DIR}/images-downloader-macos-arm" else echo "❌ macOS ARM版本构建失败" fi echo "" echo "构建完成!" echo "生成的文件在 build/ 目录:" 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