50 lines
1.6 KiB
Bash
Executable File
50 lines
1.6 KiB
Bash
Executable File
#!/bin/zsh
|
|
set -euo pipefail
|
|
|
|
echo "=== CLION LAUNCH DIAGNOSTICS ==="
|
|
echo "Script: $0"
|
|
echo "Argument count: $#"
|
|
echo "Arguments: $*"
|
|
echo "Working directory: $PWD"
|
|
echo "Parent process: $PPID"
|
|
echo "================================"
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
|
|
cd "$ROOT"
|
|
APP_NAME=OrionToolbar
|
|
DERIVED="$ROOT/.build"
|
|
CONFIGURATION="${CONFIGURATION:-Debug}"
|
|
[[ "$CONFIGURATION" == Debug || "$CONFIGURATION" == Release ]] || { echo 'CONFIGURATION must be Debug or Release' >&2; exit 2; }
|
|
mkdir -p "$DERIVED/build-logs"
|
|
LOG="$DERIVED/build-logs/build-${CONFIGURATION}-$(date +%Y%m%d-%H%M%S).log"
|
|
echo "Building $APP_NAME ($CONFIGURATION)"
|
|
set -o pipefail
|
|
xcodebuild -project "$ROOT/OrionToolbar.xcodeproj" -scheme "$APP_NAME" -configuration "$CONFIGURATION" -derivedDataPath "$DERIVED" CODE_SIGNING_ALLOWED=NO build 2>&1 | tee "$LOG"
|
|
APP="$DERIVED/Build/Products/$CONFIGURATION/$APP_NAME.app"
|
|
[[ -d "$APP" ]] || { echo "Missing application: $APP" >&2; exit 1; }
|
|
plutil -lint "$APP/Contents/Info.plist"
|
|
EXE=$(/usr/libexec/PlistBuddy -c 'Print :CFBundleExecutable' "$APP/Contents/Info.plist")
|
|
[[ -x "$APP/Contents/MacOS/$EXE" ]] || { echo 'Application executable missing' >&2; exit 1; }
|
|
echo "Build complete: $APP"
|
|
echo "Log: $LOG"
|
|
|
|
|
|
if [[ "${1:-}" == "--launch" ]]; then
|
|
echo "=== LAUNCHING ORIONTOOLBAR ==="
|
|
|
|
pkill -x "$APP_NAME" 2>/dev/null || true
|
|
sleep 2
|
|
|
|
# Launch independently through macOS Launch Services.
|
|
/usr/bin/open -n -a "$APP"
|
|
|
|
sleep 3
|
|
|
|
if /usr/bin/pgrep -x "$APP_NAME" >/dev/null; then
|
|
echo "SUCCESS: OrionToolbar launched."
|
|
else
|
|
echo "ERROR: OrionToolbar is not running."
|
|
exit 1
|
|
fi
|
|
fi
|