#!/bin/bash # ============================================================================ # EF Core Scaffolding for All StellaOps Modules # ============================================================================ # Iterates through all configured modules and runs scaffold-module.sh for each. # Use this after schema changes or for initial setup. # # Usage: ./scaffold-all-modules.sh [--no-skip-missing] # ============================================================================ set -e SKIP_MISSING=true if [ "$1" = "--no-skip-missing" ]; then SKIP_MISSING=false fi SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" REPO_ROOT="$(cd "$SCRIPT_DIR/../../.." && pwd)" # Module definitions: "Module:Schema" MODULES=( "Unknowns:unknowns" "PacksRegistry:packs" "Authority:authority" "Scanner:scanner" "Scheduler:scheduler" "TaskRunner:taskrunner" "Policy:policy" "Notify:notify" "Concelier:vuln" "Excititor:vex" "Signals:signals" "Attestor:proofchain" "Signer:signer" ) echo "" echo "============================================================================" echo " EF Core Scaffolding for All Modules" echo "============================================================================" echo "" SUCCESS_COUNT=0 SKIP_COUNT=0 FAIL_COUNT=0 for entry in "${MODULES[@]}"; do MODULE="${entry%%:*}" SCHEMA="${entry##*:}" PROJECT_PATH="$REPO_ROOT/src/$MODULE/__Libraries/StellaOps.$MODULE.Persistence.EfCore" if [ ! -f "$PROJECT_PATH"/*.csproj ]; then if [ "$SKIP_MISSING" = true ]; then echo "SKIP: $MODULE - Project not found" ((SKIP_COUNT++)) continue else echo "FAIL: $MODULE - Project not found at: $PROJECT_PATH" ((FAIL_COUNT++)) continue fi fi echo "" echo ">>> Scaffolding $MODULE..." if "$SCRIPT_DIR/scaffold-module.sh" "$MODULE" "$SCHEMA"; then ((SUCCESS_COUNT++)) else echo "FAIL: $MODULE - Scaffolding failed" ((FAIL_COUNT++)) fi done echo "" echo "============================================================================" echo " Summary" echo "============================================================================" echo " Success: $SUCCESS_COUNT" echo " Skipped: $SKIP_COUNT" echo " Failed: $FAIL_COUNT" echo "" if [ "$FAIL_COUNT" -gt 0 ]; then exit 1 fi