38 lines
1.1 KiB
Bash
Executable File
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
|