maneshtrader/scripts/create_installer_dmg.sh

44 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
if [[ -d "$ROOT_DIR/ManeshTraderMac.app" ]]; then
APP_BUNDLE_DEFAULT="$ROOT_DIR/ManeshTraderMac.app"
else
APP_BUNDLE_DEFAULT="$ROOT_DIR/ManeshTrader.app"
fi
APP_BUNDLE="${APP_BUNDLE_PATH:-$APP_BUNDLE_DEFAULT}"
if ! command -v create-dmg >/dev/null 2>&1; then
echo "create-dmg not found. Install with: brew install create-dmg" >&2
exit 1
fi
if [[ ! -d "$APP_BUNDLE" ]]; then
echo "App bundle not found: $APP_BUNDLE" >&2
echo "Set APP_BUNDLE_PATH to a built .app bundle or build one first." >&2
exit 1
fi
APP_FILENAME="$(basename "$APP_BUNDLE")"
APP_NAME="${APP_FILENAME%.app}"
TS="$(date +%Y%m%d-%H%M%S)"
STAGE_DIR="$ROOT_DIR/dist-$TS"
OUT_DMG="$ROOT_DIR/${APP_NAME}-$TS.dmg"
mkdir -p "$STAGE_DIR"
cp -R "$APP_BUNDLE" "$STAGE_DIR/"
create-dmg \
--volname "${APP_NAME} Installer" \
--window-size 600 400 \
--icon-size 120 \
--icon "$APP_FILENAME" 175 190 \
--icon "Applications" 425 190 \
--hide-extension "$APP_FILENAME" \
--app-drop-link 425 190 \
"$OUT_DMG" \
"$STAGE_DIR"
echo "Created installer: $OUT_DMG"