#!/bin/bash # Dubai Metaverse - Master Setup Script # Runs all setup and validation steps in sequence set -e echo "==========================================" echo "Dubai Metaverse - Master Setup" echo "==========================================" echo "" # Colors for output GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' NC='\033[0m' # No Color # Function to print status print_status() { if [ $1 -eq 0 ]; then echo -e "${GREEN}✓${NC} $2" else echo -e "${RED}✗${NC} $2" fi } # Step 1: Project Setup echo "Step 1: Running project setup..." ./scripts/setup_project.sh print_status $? "Project setup" # Step 2: Script Enhancement Check echo "" echo "Step 2: Validating scripts..." ./scripts/enhance_scripts.sh print_status $? "Script validation" # Step 3: Documentation Check echo "" echo "Step 3: Validating documentation..." ./scripts/generate_docs.sh print_status $? "Documentation check" # Step 4: Full Project Validation echo "" echo "Step 4: Running full project validation..." ./scripts/validate_project.sh print_status $? "Project validation" # Step 5: Python Dependencies Check echo "" echo "Step 5: Checking Python dependencies..." if python3 -c "import overpy, geojson, rasterio, numpy" 2>/dev/null; then print_status 0 "Python dependencies" else print_status 1 "Python dependencies (install with: pip install -r requirements.txt)" fi # Step 6: Git Status echo "" echo "Step 6: Checking Git status..." if [ -d ".git" ]; then echo " Repository: Initialized" echo " Branch: $(git branch --show-current 2>/dev/null || echo 'N/A')" echo " Commits: $(git log --oneline | wc -l)" print_status 0 "Git repository" else print_status 1 "Git repository (not initialized)" fi # Step 7: Git LFS Check echo "" echo "Step 7: Checking Git LFS..." if command -v git-lfs &> /dev/null; then if git lfs version &> /dev/null; then print_status 0 "Git LFS installed" else print_status 1 "Git LFS installed but not working" fi else print_status 1 "Git LFS not installed (install manually)" fi # Step 8: Directory Structure Check echo "" echo "Step 8: Checking directory structure..." MISSING_DIRS=0 REQUIRED_DIRS=("docs" "TASKS" "PROGRESS_REPORTS" "scripts" "houdini" "data" "TEMPLATES" "Config" "Content") for dir in "${REQUIRED_DIRS[@]}"; do if [ ! -d "$dir" ]; then echo " ⚠ Missing: $dir/" ((MISSING_DIRS++)) fi done if [ $MISSING_DIRS -eq 0 ]; then print_status 0 "Directory structure" else print_status 1 "Directory structure ($MISSING_DIRS missing)" fi # Summary echo "" echo "==========================================" echo "Master Setup Complete" echo "==========================================" echo "" echo "Next Steps:" echo "1. Install Git LFS (if not installed): sudo apt install git-lfs && git lfs install" echo "2. Install Unreal Engine 5.4 (follow UE5_SETUP.md)" echo "3. Create UE5 project: DubaiMetaverse" echo "4. Copy config templates to Config/ directory" echo "5. Begin Phase 1, Week 2: Geospatial acquisition" echo "" echo "For detailed next steps, see: NEXT_STEPS.md" echo ""