#!/usr/bin/env bash # Starts the REST API on :8080 (in-memory H2, so every start is a clean library). # Usage: scripts/run.sh foreground # scripts/run.sh --detach background, waits until /api/books answers set -euo pipefail cd "$(dirname "$0")/.." mvn -B -q -DskipTests package if [ "${1:-}" = "--detach" ]; then setsid nohup java -jar target/library-management-1.0.0.jar > /tmp/library-api.log 2>&1 < /dev/null & for _ in $(seq 1 60); do curl -s -o /dev/null localhost:8080/api/books && exit 0; sleep 1; done echo "API did not start; see /tmp/library-api.log" >&2; exit 1 fi exec java -jar target/library-management-1.0.0.jar