build.sh 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #!/bin/bash
  2. set -e
  3. # 构建前端
  4. WEB_DIR="/home/moki/Project/ai-status-light-web"
  5. HTML_DIR="/home/moki/GolandProjects/AI-Status-Light/internal/web/html"
  6. if [ -d "$WEB_DIR" ]; then
  7. echo "Building frontend..."
  8. cd "$WEB_DIR" && npm run build
  9. rm -rf "$HTML_DIR"
  10. cp -r dist "$HTML_DIR"
  11. echo "Frontend built and copied."
  12. fi
  13. cd /home/moki/GolandProjects/AI-Status-Light
  14. BINARY_NAME="opencode-monitor"
  15. VERSION=$(git describe --tags --always --dirty 2>/dev/null || echo "dev")
  16. mkdir -p dist
  17. echo "Building for Linux (amd64)..."
  18. GOOS=linux GOARCH=amd64 go build -ldflags "-X main.Version=${VERSION}" -o dist/${BINARY_NAME}-linux-amd64 ./cmd/monitor
  19. echo "Building for Linux (arm64)..."
  20. GOOS=linux GOARCH=arm64 go build -ldflags "-X main.Version=${VERSION}" -o dist/${BINARY_NAME}-linux-arm64 ./cmd/monitor
  21. echo "Building for macOS (amd64)..."
  22. GOOS=darwin GOARCH=amd64 go build -ldflags "-X main.Version=${VERSION}" -o dist/${BINARY_NAME}-darwin-amd64 ./cmd/monitor
  23. echo "Building for macOS (arm64)..."
  24. GOOS=darwin GOARCH=arm64 go build -ldflags "-X main.Version=${VERSION}" -o dist/${BINARY_NAME}-darwin-arm64 ./cmd/monitor
  25. echo "Building for Windows (amd64)..."
  26. GOOS=windows GOARCH=amd64 go build -ldflags "-X main.Version=${VERSION}" -o dist/${BINARY_NAME}-windows-amd64.exe ./cmd/monitor
  27. echo "Building for Windows (arm64)..."
  28. GOOS=windows GOARCH=arm64 go build -ldflags "-X main.Version=${VERSION}" -o dist/${BINARY_NAME}-windows-arm64.exe ./cmd/monitor
  29. echo ""
  30. echo "Build complete! Binaries in dist/"
  31. ls -la dist/