118 lines
3.1 KiB
Bash
118 lines
3.1 KiB
Bash
|
|
#!/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 ""
|
||
|
|
|