89 lines
2.4 KiB
Bash
89 lines
2.4 KiB
Bash
#!/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
|