#!/usr/bin/env bash

set -euo pipefail

ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
ARTIFACT_DIR="${ROOT_DIR}/artifacts/beta"
APP_BUNDLE_DIR="${ROOT_DIR}/src-tauri/target/release/bundle/macos"

echo "Building bundled sidecar..."
"${ROOT_DIR}/scripts/build-sidecar.sh"

echo "Building macOS app bundle..."
(
    cd "${ROOT_DIR}"
    npm run tauri:build -- --bundles app
)

APP_PATH="$(find "${APP_BUNDLE_DIR}" -maxdepth 1 -name '*.app' | head -n 1)"
if [[ -z "${APP_PATH}" ]]; then
    echo "No .app bundle found under ${APP_BUNDLE_DIR}" >&2
    exit 1
fi

mkdir -p "${ARTIFACT_DIR}"
APP_NAME="$(basename "${APP_PATH}")"
ZIP_NAME="${APP_NAME%.app}-macos-beta.zip"
ZIP_PATH="${ARTIFACT_DIR}/${ZIP_NAME}"

echo "Packaging ${APP_NAME} -> ${ZIP_PATH}"
rm -f "${ZIP_PATH}"
ditto -c -k --sequesterRsrc --keepParent "${APP_PATH}" "${ZIP_PATH}"

echo "Done."
echo "Beta artifact: ${ZIP_PATH}"
