This commit is contained in:
45
sync_helder.sh
Executable file
45
sync_helder.sh
Executable file
@@ -0,0 +1,45 @@
|
||||
#!/usr/bin/env bash
|
||||
#
|
||||
# sync_helder.sh — build Helder (arm64), install it into ~/Applications, and
|
||||
# drop a stable-named Helder.dmg alongside it.
|
||||
#
|
||||
# ./sync_helder.sh
|
||||
#
|
||||
set -euo pipefail
|
||||
|
||||
# Run from the repo root (where this script lives), whatever the caller's cwd is.
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
APPS_DIR="$HOME/Applications"
|
||||
APP_DEST="$APPS_DIR/Helder.app"
|
||||
DMG_DEST="$APPS_DIR/Helder.dmg"
|
||||
|
||||
echo "▶ Building Helder (arm64)…"
|
||||
npm run dist:mac
|
||||
|
||||
# Locate the freshly built artifacts.
|
||||
APP_SRC="dist/mac-arm64/Helder.app"
|
||||
DMG_SRC="$(ls -t dist/Helder-*-arm64.dmg 2>/dev/null | head -n1 || true)"
|
||||
|
||||
[ -d "$APP_SRC" ] || { echo "✗ Build output not found: $APP_SRC"; exit 1; }
|
||||
[ -n "$DMG_SRC" ] && [ -f "$DMG_SRC" ] || { echo "✗ No built .dmg found in dist/"; exit 1; }
|
||||
|
||||
mkdir -p "$APPS_DIR"
|
||||
|
||||
# Quit a running copy so we can replace the bundle cleanly.
|
||||
osascript -e 'tell application "Helder" to quit' >/dev/null 2>&1 || true
|
||||
sleep 1
|
||||
|
||||
echo "▶ Installing app → $APP_DEST"
|
||||
rm -rf "$APP_DEST"
|
||||
cp -R "$APP_SRC" "$APP_DEST"
|
||||
# Unsigned ad-hoc build: clear the quarantine flag so it launches without the
|
||||
# Gatekeeper "unidentified developer" prompt.
|
||||
xattr -dr com.apple.quarantine "$APP_DEST" 2>/dev/null || true
|
||||
|
||||
echo "▶ Copying installer → $DMG_DEST"
|
||||
cp -f "$DMG_SRC" "$DMG_DEST"
|
||||
|
||||
echo "✓ Done."
|
||||
echo " • Installed: $APP_DEST (launch from Spotlight)"
|
||||
echo " • Installer: $DMG_DEST (renamed from $(basename "$DMG_SRC"))"
|
||||
Reference in New Issue
Block a user