Files
metabuilder/packages/package_validator/examples/validate-all.sh

62 lines
1.6 KiB
Bash

#!/bin/bash
# Validate all packages in the packages directory
echo "🔍 Validating all packages..."
echo ""
PACKAGES_DIR="packages"
VALIDATOR_CLI="packages/package_validator/seed/scripts/cli.lua"
# Check if validator exists
if [ ! -f "$VALIDATOR_CLI" ]; then
echo "❌ Error: Package validator not found at $VALIDATOR_CLI"
exit 2
fi
# Get all package directories (exclude package_validator itself to avoid circular checks during initial validation)
PACKAGES=$(find "$PACKAGES_DIR" -maxdepth 1 -mindepth 1 -type d -exec basename {} \; | sort)
TOTAL=0
PASSED=0
FAILED=0
FAILED_PACKAGES=""
for PACKAGE in $PACKAGES; do
TOTAL=$((TOTAL + 1))
echo "──────────────────────────────────────"
echo "📦 Package: $PACKAGE"
echo ""
if lua "$VALIDATOR_CLI" "$PACKAGE"; then
PASSED=$((PASSED + 1))
echo ""
else
FAILED=$((FAILED + 1))
FAILED_PACKAGES="$FAILED_PACKAGES
- $PACKAGE"
echo ""
fi
done
echo "=========================================="
echo ""
echo "📊 Validation Summary:"
echo " Total packages: $TOTAL"
echo " ✅ Passed: $PASSED"
echo " ❌ Failed: $FAILED"
echo ""
if [ $FAILED -eq 0 ]; then
echo "🎉 All packages validated successfully!"
exit 0
else
echo "⚠️ Failed packages:$FAILED_PACKAGES"
echo ""
echo "Run with --verbose for detailed error information:"
for PACKAGE in $FAILED_PACKAGES; do
echo " lua $VALIDATOR_CLI $(echo $PACKAGE | sed 's/^ - //') --verbose"
done
exit 1
fi