#!/usr/bin/env bash set -euo pipefail cd "$(dirname "$0")" MODE="${1:-run}" case "$MODE" in run) echo "=== Building and running generic-client ===" ./gradlew run --no-daemon ;; build) echo "=== Building generic-client ===" ./gradlew createDistributable --no-daemon echo "Output: build/compose/binaries/main/" ;; package) echo "=== Packaging generic-client ===" ./gradlew packageDmg --no-daemon 2>/dev/null || \ ./gradlew packageDeb --no-daemon 2>/dev/null || \ ./gradlew packageMsi --no-daemon 2>/dev/null || \ echo "Note: Packaging requires the target OS (macOS/Windows/Linux)" ;; clean) echo "=== Cleaning ===" ./gradlew clean --no-daemon ;; *) echo "Usage: $0 {run|build|package|clean}" echo " run - Build and run the app (default)" echo " build - Create distributable app bundle" echo " package - Create OS-specific installer (dmg/deb/msi)" echo " clean - Clean build artifacts" exit 1 ;; esac