chatapp3-java/.local-run/build-local-jars.sh
2026-04-15 11:12:22 +08:00

38 lines
1.1 KiB
Bash
Executable File

#!/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