#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" build_rc_auth() { local mmdb_rel="rc-auth/src/main/resources/static/GeoLite2-City.mmdb" local mmdb_abs="$ROOT_DIR/$mmdb_rel" local target_jar local tmp_dir tmp_dir="$(mktemp -d)" trap 'if [[ -f "$tmp_dir/GeoLite2-City.mmdb" ]]; then mv "$tmp_dir/GeoLite2-City.mmdb" "$mmdb_abs"; fi; rm -rf "$tmp_dir"' RETURN mv "$mmdb_abs" "$tmp_dir/GeoLite2-City.mmdb" mvn -pl rc-auth -Dmaven.test.skip=true package target_jar="$(find "$ROOT_DIR/rc-auth/target" -maxdepth 1 -name 'rc-auth-*.jar' ! -name '*.original' | head -n 1)" if [[ -z "${target_jar:-}" ]]; then echo "rc-auth jar not found" >&2 exit 1 fi mkdir -p "$ROOT_DIR/rc-auth/target/classes/static" cp "$tmp_dir/GeoLite2-City.mmdb" "$ROOT_DIR/rc-auth/target/classes/static/GeoLite2-City.mmdb" ( cd "$ROOT_DIR/rc-auth/target" jar uf "$(basename "$target_jar")" -C classes static/GeoLite2-City.mmdb ) mv "$tmp_dir/GeoLite2-City.mmdb" "$mmdb_abs" rm -rf "$tmp_dir" trap - RETURN } cd "$ROOT_DIR" build_rc_auth