feedBack-desktop/scripts/bundle.sh
2026-06-16 18:48:12 +02:00

36 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
# Top-level bundle delegator. Calls the per-concern modular scripts so
# local dev matches CI. Linux-focused; macOS/Windows bundling lives in
# the GitHub Actions workflow because those platforms have quite
# different packaging needs (dylibbundler, zip downloads, etc.).
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PROJECT_DIR="$(dirname "$SCRIPT_DIR")"
echo "=== Bundling Slopsmith Desktop ==="
bash "$SCRIPT_DIR/bundle-slopsmith.sh"
# Skip Python bundling on non-Linux platforms (handled inline in platform scripts)
if [[ "$(uname -s)" == "Linux" ]]; then
bash "$SCRIPT_DIR/bundle-python.sh"
fi
# Skip binary bundling on non-Linux platforms (handled inline in platform scripts)
if [[ "$(uname -s)" == "Linux" ]]; then
bash "$SCRIPT_DIR/bundle-binaries.sh"
fi
bash "$SCRIPT_DIR/bundle-soundfont.sh"
# Default IRs — small copy step that doesn't need its own script.
echo "=== Copying default IRs ==="
mkdir -p "$PROJECT_DIR/resources/default-irs"
cp "$PROJECT_DIR/models/cabs/"*.wav "$PROJECT_DIR/resources/default-irs/" 2>/dev/null || true
echo " Default IRs: $(ls "$PROJECT_DIR/resources/default-irs/" | wc -l) file(s)"
echo ""
echo "=== Bundle complete ==="
echo " Total resources: $(du -sh "$PROJECT_DIR/resources" | cut -f1)"
echo ""
echo "Ready for: npm run dist"