45 lines
1.3 KiB
Bash
45 lines
1.3 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Build the Navidrome sidecar binary and package the Quintodrome desktop app.
|
||
|
|
#
|
||
|
|
# Usage: ./desktop/scripts/build.sh [--skip-tauri]
|
||
|
|
#
|
||
|
|
# The script:
|
||
|
|
# 1. Builds the Navidrome server for the host platform (via `make build`).
|
||
|
|
# 2. Copies it into src-tauri/binaries/ under the target-triple name that
|
||
|
|
# tauri-plugin-shell expects for a sidecar (e.g. navidrome-aarch64-apple-darwin).
|
||
|
|
# 3. Builds the Tauri application (unless --skip-tauri is passed).
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||
|
|
DESKTOP="$ROOT/desktop"
|
||
|
|
SRC_TAURI="$DESKTOP/src-tauri"
|
||
|
|
|
||
|
|
SKIP_TAURI=false
|
||
|
|
if [[ "${1:-}" == "--skip-tauri" ]]; then
|
||
|
|
SKIP_TAURI=true
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "==> Building Navidrome server binary..."
|
||
|
|
(cd "$ROOT" && make build)
|
||
|
|
|
||
|
|
TRIPLE="$(rustc -vV | sed -n 's/^host: //p')"
|
||
|
|
BIN_NAME="navidrome-$TRIPLE"
|
||
|
|
case "$TRIPLE" in
|
||
|
|
*windows*) BIN_NAME="$BIN_NAME.exe" ;;
|
||
|
|
esac
|
||
|
|
|
||
|
|
echo "==> Staging sidecar as binaries/$BIN_NAME"
|
||
|
|
mkdir -p "$SRC_TAURI/binaries"
|
||
|
|
cp "$ROOT/navidrome" "$SRC_TAURI/binaries/$BIN_NAME"
|
||
|
|
chmod +x "$SRC_TAURI/binaries/$BIN_NAME"
|
||
|
|
|
||
|
|
if [[ "$SKIP_TAURI" == true ]]; then
|
||
|
|
echo "==> Skipping Tauri build (--skip-tauri)."
|
||
|
|
exit 0
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "==> Building Quintodrome Tauri app..."
|
||
|
|
(cd "$DESKTOP" && npx tauri build)
|
||
|
|
|
||
|
|
echo "==> Done."
|