72 lines
2.1 KiB
Bash
72 lines
2.1 KiB
Bash
|
|
#!/bin/bash
|
||
|
|
set -e
|
||
|
|
|
||
|
|
# Get version from deno.json
|
||
|
|
VERSION=$(cat deno.json | grep -o '"version": *"[^"]*"' | cut -d'"' -f4)
|
||
|
|
BINARY_DIR="dist/binaries"
|
||
|
|
|
||
|
|
echo "================================================"
|
||
|
|
echo " SPARK Compilation Script"
|
||
|
|
echo " Version: ${VERSION}"
|
||
|
|
echo "================================================"
|
||
|
|
echo ""
|
||
|
|
echo "Compiling for all supported platforms..."
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Clean up old binaries and create fresh directory
|
||
|
|
rm -rf "$BINARY_DIR"
|
||
|
|
mkdir -p "$BINARY_DIR"
|
||
|
|
echo "→ Cleaned old binaries from $BINARY_DIR"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Linux x86_64
|
||
|
|
echo "→ Compiling for Linux x86_64..."
|
||
|
|
deno compile --allow-all --no-check --output "$BINARY_DIR/spark-linux-x64" \
|
||
|
|
--target x86_64-unknown-linux-gnu mod.ts
|
||
|
|
echo " ✓ Linux x86_64 complete"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Linux ARM64
|
||
|
|
echo "→ Compiling for Linux ARM64..."
|
||
|
|
deno compile --allow-all --no-check --output "$BINARY_DIR/spark-linux-arm64" \
|
||
|
|
--target aarch64-unknown-linux-gnu mod.ts
|
||
|
|
echo " ✓ Linux ARM64 complete"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# macOS x86_64
|
||
|
|
echo "→ Compiling for macOS x86_64..."
|
||
|
|
deno compile --allow-all --no-check --output "$BINARY_DIR/spark-macos-x64" \
|
||
|
|
--target x86_64-apple-darwin mod.ts
|
||
|
|
echo " ✓ macOS x86_64 complete"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# macOS ARM64
|
||
|
|
echo "→ Compiling for macOS ARM64..."
|
||
|
|
deno compile --allow-all --no-check --output "$BINARY_DIR/spark-macos-arm64" \
|
||
|
|
--target aarch64-apple-darwin mod.ts
|
||
|
|
echo " ✓ macOS ARM64 complete"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
# Windows x86_64
|
||
|
|
echo "→ Compiling for Windows x86_64..."
|
||
|
|
deno compile --allow-all --no-check --output "$BINARY_DIR/spark-windows-x64.exe" \
|
||
|
|
--target x86_64-pc-windows-msvc mod.ts
|
||
|
|
echo " ✓ Windows x86_64 complete"
|
||
|
|
echo ""
|
||
|
|
|
||
|
|
echo "================================================"
|
||
|
|
echo " Compilation Summary"
|
||
|
|
echo "================================================"
|
||
|
|
echo ""
|
||
|
|
ls -lh "$BINARY_DIR/" | tail -n +2
|
||
|
|
echo ""
|
||
|
|
echo "✓ All binaries compiled successfully!"
|
||
|
|
echo ""
|
||
|
|
echo "Binary location: $BINARY_DIR/"
|
||
|
|
echo ""
|
||
|
|
echo "To create a release:"
|
||
|
|
echo " 1. Test the binaries on their respective platforms"
|
||
|
|
echo " 2. Create a git tag: git tag v${VERSION}"
|
||
|
|
echo " 3. Push the tag: git push origin v${VERSION}"
|
||
|
|
echo " 4. Upload the binaries to the release"
|
||
|
|
echo ""
|