#!/usr/bin/env bash set -euo pipefail VER="${1:?v3|v4}" BINPATH="${2:-../../server-ui/target/release/avidaed_onefile}" OUTDIR="${3:-.}" APP="Avida-ED-${VER}.app" ZIP="Avida-ED-${VER}-macOS.zip" rm -rf "$APP" mkdir -p "$APP/Contents/MacOS" "$APP/Contents/Resources" cp "$BINPATH" "$APP/Contents/MacOS/Avida-ED" chmod +x "$APP/Contents/MacOS/Avida-ED" # Info.plist sed "s/{{VER}}/${VER}/g" "$(dirname "$0")/info.plist.tmpl" > "$APP/Contents/Info.plist" # Icon placeholder sips -s format icns /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/GenericApplicationIcon.icns --out "$APP/Contents/Resources/AppIcon.icns" >/dev/null 2>&1 || true if command -v codesign >/dev/null 2>&1; then codesign --force --deep --sign - "$APP" >/dev/null 2>&1 || true fi mkdir -p "$OUTDIR" if command -v ditto >/dev/null 2>&1; then ditto -c -k --keepParent "$APP" "$OUTDIR/$ZIP" else zip -qry "$OUTDIR/$ZIP" "$APP" fi echo "Wrote $APP and $OUTDIR/$ZIP"