#!/bin/bash
set -euo pipefail
PROJECT_DIR="$(cd "$(dirname "$0")" && pwd)"
APP_NAME="TagLauncher"
BUILD_DIR="$PROJECT_DIR/build"
APP_BUNDLE="$BUILD_DIR/$APP_NAME.app"
DMG_NAME="$APP_NAME.dmg"
DMG_PATH="$BUILD_DIR/$DMG_NAME"
STAGING="$BUILD_DIR/dmg_staging"
echo "==> Preparing DMG staging..."
rm -rf "$STAGING"
mkdir -p "$STAGING"
echo "==> Copying $APP_NAME.app..."
cp -R "$APP_BUNDLE" "$STAGING/"
echo "==> Creating Applications symlink..."
ln -s /Applications "$STAGING/Applications"
echo "==> Creating DMG..."
hdiutil create \
-volname "$APP_NAME" \
-srcfolder "$STAGING" \
-ov \
-format UDZO \
-imagekey zlib-level=9 \
"$DMG_PATH"
echo "==> Cleaning up staging..."
rm -rf "$STAGING"
SIZE=$(du -sh "$DMG_PATH" | awk '{print $1}')
echo ""
echo "✅ DMG created: $DMG_PATH ($SIZE)"
echo " Open: open $DMG_PATH"