Initial commit: add .gitignore and README
This commit is contained in:
77
verify-structure.sh
Executable file
77
verify-structure.sh
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/bin/bash
|
||||
# Verify scripts directory structure
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "$SCRIPT_DIR/lib/init.sh"
|
||||
|
||||
log_heading "Verifying Scripts Structure"
|
||||
|
||||
errors=0
|
||||
|
||||
# Check directories exist
|
||||
for dir in migration metrics metrics/collect dbis infrastructure utils lib lib/common lib/config; do
|
||||
if [ -d "$SCRIPT_DIR/$dir" ]; then
|
||||
log_success "Directory exists: $dir"
|
||||
else
|
||||
log_error "Directory missing: $dir"
|
||||
((errors++))
|
||||
fi
|
||||
done
|
||||
|
||||
# Check library files
|
||||
for lib in lib/common/colors.sh lib/common/logging.sh lib/common/utils.sh lib/common/validation.sh lib/common/error-handling.sh lib/config/env.sh lib/init.sh; do
|
||||
if [ -f "$SCRIPT_DIR/$lib" ]; then
|
||||
log_success "Library exists: $lib"
|
||||
else
|
||||
log_error "Library missing: $lib"
|
||||
((errors++))
|
||||
fi
|
||||
done
|
||||
|
||||
# Count scripts
|
||||
migration_count=$(find "$SCRIPT_DIR/migration" -name "*.sh" 2>/dev/null | wc -l)
|
||||
metrics_count=$(find "$SCRIPT_DIR/metrics" -name "*.sh" 2>/dev/null | wc -l)
|
||||
dbis_count=$(find "$SCRIPT_DIR/dbis" -name "*.sh" 2>/dev/null | wc -l)
|
||||
infra_count=$(find "$SCRIPT_DIR/infrastructure" -name "*.sh" 2>/dev/null | wc -l)
|
||||
utils_count=$(find "$SCRIPT_DIR/utils" -name "*.sh" 2>/dev/null | wc -l)
|
||||
total=$((migration_count + metrics_count + dbis_count + infra_count + utils_count))
|
||||
|
||||
log_info "Script counts:"
|
||||
log_info " Migration: $migration_count"
|
||||
log_info " Metrics: $metrics_count"
|
||||
log_info " DBIS: $dbis_count"
|
||||
log_info " Infrastructure: $infra_count"
|
||||
log_info " Utils: $utils_count"
|
||||
log_info " Total: $total"
|
||||
|
||||
if [ $total -eq 30 ]; then
|
||||
log_success "All 30 scripts found"
|
||||
else
|
||||
log_error "Expected 30 scripts, found $total"
|
||||
((errors++))
|
||||
fi
|
||||
|
||||
# Check scripts are executable (exclude verification script itself)
|
||||
executable_count=$(find "$SCRIPT_DIR" -name "*.sh" -type f ! -path "*/lib/*" ! -name "verify-structure.sh" -executable 2>/dev/null | wc -l)
|
||||
if [ $executable_count -eq $total ]; then
|
||||
log_success "All scripts are executable"
|
||||
else
|
||||
log_error "Expected $total executable scripts, found $executable_count"
|
||||
((errors++))
|
||||
fi
|
||||
|
||||
# Check scripts use libraries (exclude verification script itself)
|
||||
scripts_with_libs=$(grep -r "source.*lib/init.sh" "$SCRIPT_DIR" --include="*.sh" ! -path "*/lib/*" ! -name "verify-structure.sh" 2>/dev/null | wc -l)
|
||||
if [ $scripts_with_libs -eq $total ]; then
|
||||
log_success "All scripts use libraries"
|
||||
else
|
||||
log_warn "Some scripts may not use libraries: $scripts_with_libs/$total"
|
||||
fi
|
||||
|
||||
if [ $errors -eq 0 ]; then
|
||||
log_success "Verification complete - All checks passed!"
|
||||
exit 0
|
||||
else
|
||||
log_error "Verification failed - $errors errors found"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user