#!/usr/bin/env bash set -euo pipefail ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" cd "$ROOT_DIR" env_value() { python3 "$ROOT_DIR/scripts/env-value.py" "$ROOT_DIR/.env" "$1" "${2:-}" } JAVA_SOURCE_DIR="${JAVA_SOURCE_DIR:-$(env_value JAVA_SOURCE_DIR "$ROOT_DIR/sources/chatapp3-java")}" ADMIN_SOURCE_DIR="${ADMIN_SOURCE_DIR:-$(env_value ADMIN_SOURCE_DIR "$ROOT_DIR/sources/chatapp3-admin")}" TESTBOX_ADMIN_API_BASE_URL="${TESTBOX_ADMIN_API_BASE_URL:-$(env_value TESTBOX_ADMIN_API_BASE_URL "https://yumi-test-admi.haiyihy.com/console")}" TESTBOX_ADMIN_OSS_URL="${TESTBOX_ADMIN_OSS_URL:-$(env_value TESTBOX_ADMIN_OSS_URL "")}" if [ ! -d "$JAVA_SOURCE_DIR" ]; then echo "missing JAVA_SOURCE_DIR: $JAVA_SOURCE_DIR" >&2 exit 1 fi if [ ! -d "$ADMIN_SOURCE_DIR" ]; then echo "missing ADMIN_SOURCE_DIR: $ADMIN_SOURCE_DIR" >&2 exit 1 fi cd "$JAVA_SOURCE_DIR" if [ -x ./ci/install-private-maven.sh ]; then ./ci/install-private-maven.sh fi JAVA_MODULES="rc-auth,rc-gateway,rc-service/rc-service-external/external-start,rc-service/rc-service-console/console-start,rc-service/rc-service-other/other-start,rc-service/rc-service-live/live-start,rc-service/rc-service-wallet/wallet-start,rc-service/rc-service-order/order-start" mvn -Ptest -T 1C -pl "$JAVA_MODULES" -am -Dmaven.test.skip=true package cd "$ROOT_DIR" docker compose --env-file .env -f docker-compose.infra.yml -f docker-compose.apps.yml build \ auth gateway external console other live wallet order golang chatapp-cron docker build \ -f "$ROOT_DIR/docker/chatapp3-admin.Dockerfile" \ --build-arg "ADMIN_API_BASE_URL=$TESTBOX_ADMIN_API_BASE_URL" \ --build-arg "ADMIN_OSS_URL=$TESTBOX_ADMIN_OSS_URL" \ -t chatapp-test/admin:testbox \ "$ADMIN_SOURCE_DIR"