#!/usr/bin/env bash
# Local equivalent of the CI gate: the exact static-analysis + unit + integration
# + coverage checks a developer should run before pushing.
#
# Usage:  ./scripts/verify.sh [extra maven args]
set -euo pipefail
cd "$(dirname "$0")/.."

# Build must run on JDK 21. Prefer an explicit JAVA_HOME; otherwise use SDKMAN's 21.
if [ -z "${JAVA_HOME:-}" ] && [ -d "$HOME/.sdkman/candidates/java/21-tem" ]; then
  export JAVA_HOME="$HOME/.sdkman/candidates/java/21-tem"
fi

# Testcontainers on a local Colima daemon needs these (harmless on Docker Desktop;
# NOT used in CI, which runs on a native Docker runner with Ryuk enabled).
export TESTCONTAINERS_HOST_OVERRIDE="${TESTCONTAINERS_HOST_OVERRIDE:-127.0.0.1}"
export TESTCONTAINERS_RYUK_DISABLED="${TESTCONTAINERS_RYUK_DISABLED:-true}"

echo "==> JAVA_HOME=${JAVA_HOME:-<default>}"
exec ./mvnw -B clean verify "$@"
