#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" # shellcheck disable=SC1091 source "$SCRIPT_DIR/common.sh" load_local_env MAVEN_REPO_LOCAL="${MAVEN_REPO_LOCAL:-$ROOT_DIR/var/local-maven-repo}" JAVA_MAVEN_THREADS="${JAVA_MAVEN_THREADS:-1C}" INSTALL_PRIVATE_SCRIPT="$SCRIPT_DIR/install_private_maven.py" usage() { cat <<'EOF' 用法: ./build_local_backend.sh # 构建全部 Java 后端 jar(需要 JDK 17) ./build_local_backend.sh auth live # 只构建指定服务 EOF } all_java_services() { cat <<'EOF' auth console external gateway live order other scheduling visual-monitor wallet EOF } module_for_service() { case "$1" in gateway) echo "rc-gateway" ;; auth) echo "rc-auth" ;; external) echo "rc-service/rc-service-external/external-start" ;; other) echo "rc-service/rc-service-other/other-start" ;; live) echo "rc-service/rc-service-live/live-start" ;; order) echo "rc-service/rc-service-order/order-start" ;; wallet) echo "rc-service/rc-service-wallet/wallet-start" ;; console) echo "rc-service/rc-service-console/console-start" ;; visual-monitor) echo "rc-visual/visual-monitor" ;; scheduling) echo "rc-scheduling" ;; *) return 1 ;; esac } select_services() { if [ "$#" -eq 0 ]; then all_java_services return 0 fi for service in "$@"; do if ! module_for_service "$service" >/dev/null; then echo "unknown java service: $service" >&2 usage >&2 exit 1 fi printf '%s\n' "$service" done } mkdir -p "$MAVEN_REPO_LOCAL" require_java_17 python3 "$INSTALL_PRIVATE_SCRIPT" \ --source-root "$JAVA_REPO_DIR/maven_private" \ --maven-repo-local "$MAVEN_REPO_LOCAL" SELECTED_SERVICES=() while IFS= read -r service; do [ -n "$service" ] || continue SELECTED_SERVICES+=("$service") done <