#!/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"