amduat-api/scripts/dev-restart.sh

37 lines
867 B
Bash
Raw Permalink Normal View History

2025-12-22 19:57:22 +01:00
#!/bin/sh
set -eu
ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
BUILD_DIR="$ROOT_DIR/build"
SOCK_PATH=${AMDUATD_SOCK:-"$ROOT_DIR/amduatd.sock"}
STORE_ROOT=${AMDUATD_ROOT:-"$ROOT_DIR/.amduat-asl"}
if [ ! -d "$BUILD_DIR" ]; then
cmake -S "$ROOT_DIR" -B "$BUILD_DIR"
fi
cmake --build "$BUILD_DIR" -j
if [ -S "$SOCK_PATH" ]; then
pid=
if command -v lsof >/dev/null 2>&1; then
pid=$(lsof -t -- "$SOCK_PATH" 2>/dev/null | head -n 1 || true)
elif command -v fuser >/dev/null 2>&1; then
pid=$(fuser "$SOCK_PATH" 2>/dev/null | awk '{print $1}' | head -n 1 || true)
fi
if [ -n "${pid:-}" ]; then
kill "$pid" 2>/dev/null || true
i=0
while [ $i -lt 30 ] && kill -0 "$pid" 2>/dev/null; do
i=$((i + 1))
sleep 0.1
done
fi
rm -f "$SOCK_PATH"
fi
exec "$BUILD_DIR/amduatd" --root "$STORE_ROOT" --sock "$SOCK_PATH"