Files
AzerothCore-RealmMaster/scripts/setup-source.sh

78 lines
2.2 KiB
Bash
Executable File

#!/bin/bash
# ac-compose source repository setup
set -e
echo '🔧 Setting up AzerothCore source repository...'
# Load environment variables if .env exists
if [ -f .env ]; then
source .env
fi
# Default values
SOURCE_PATH="${MODULES_REBUILD_SOURCE_PATH:-./source/azerothcore}"
# Convert to absolute path if relative
if [[ "$SOURCE_PATH" != /* ]]; then
SOURCE_PATH="$(pwd)/$SOURCE_PATH"
fi
MODULE_PLAYERBOTS="${MODULE_PLAYERBOTS:-0}"
# Repository and branch selection based on playerbots mode
if [ "$MODULE_PLAYERBOTS" = "1" ]; then
REPO_URL="https://github.com/liyunfan1223/azerothcore-wotlk.git"
BRANCH="Playerbot"
echo "📌 Playerbots mode: Using liyunfan1223 fork, Playerbot branch"
else
REPO_URL="https://github.com/azerothcore/azerothcore-wotlk.git"
BRANCH="master"
echo "📌 Standard mode: Using official AzerothCore, master branch"
fi
echo "📍 Repository: $REPO_URL"
echo "🌿 Branch: $BRANCH"
echo "📂 Source path: $SOURCE_PATH"
# Create source directory if it doesn't exist
mkdir -p "$(dirname "$SOURCE_PATH")"
# Clone or update repository
if [ -d "$SOURCE_PATH/.git" ]; then
echo "📂 Existing repository found, updating..."
cd "$SOURCE_PATH"
# Check if we're on the correct repository
CURRENT_REMOTE=$(git remote get-url origin 2>/dev/null || echo "")
if [ "$CURRENT_REMOTE" != "$REPO_URL" ]; then
echo "🔄 Repository URL changed, re-cloning..."
cd ..
rm -rf "$(basename "$SOURCE_PATH")"
git clone "$REPO_URL" "$(basename "$SOURCE_PATH")"
cd "$(basename "$SOURCE_PATH")"
fi
# Fetch latest changes
git fetch origin
# Switch to target branch
git checkout "$BRANCH"
git pull origin "$BRANCH"
echo "✅ Repository updated to latest $BRANCH"
else
echo "📥 Cloning repository..."
git clone -b "$BRANCH" "$REPO_URL" "$SOURCE_PATH"
echo "✅ Repository cloned successfully"
fi
cd "$SOURCE_PATH"
# Display current status
CURRENT_COMMIT=$(git rev-parse --short HEAD)
CURRENT_BRANCH=$(git branch --show-current)
echo "📊 Current status:"
echo " Branch: $CURRENT_BRANCH"
echo " Commit: $CURRENT_COMMIT"
echo " Last commit: $(git log -1 --pretty=format:'%s (%an, %ar)')"
echo '🎉 Source repository setup complete!'