- Organized 252 files across project - Root directory: 187 → 2 files (98.9% reduction) - Moved configuration guides to docs/04-configuration/ - Moved troubleshooting guides to docs/09-troubleshooting/ - Moved quick start guides to docs/01-getting-started/ - Moved reports to reports/ directory - Archived temporary files - Generated comprehensive reports and documentation - Created maintenance scripts and guides All files organized according to established standards.
101 lines
2.6 KiB
Bash
Executable File
101 lines
2.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Dependency management and updates
|
|
# Usage: ./dependency-management.sh [check|update|audit]
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
SOURCE_PROJECT="/home/intlc/projects/smom-dbis-138"
|
|
|
|
ACTION="${1:-check}"
|
|
|
|
# Check dependencies
|
|
check_dependencies() {
|
|
echo "=== Dependency Check ==="
|
|
echo ""
|
|
|
|
# Check Foundry
|
|
if command -v forge >/dev/null 2>&1; then
|
|
FORGE_VERSION=$(forge --version 2>/dev/null | head -1 || echo "Unknown")
|
|
echo "✅ Foundry: $FORGE_VERSION"
|
|
else
|
|
echo "❌ Foundry: Not installed"
|
|
fi
|
|
|
|
# Check cast
|
|
if command -v cast >/dev/null 2>&1; then
|
|
CAST_VERSION=$(cast --version 2>/dev/null | head -1 || echo "Unknown")
|
|
echo "✅ Cast: $CAST_VERSION"
|
|
else
|
|
echo "❌ Cast: Not installed"
|
|
fi
|
|
|
|
# Check bc
|
|
if command -v bc >/dev/null 2>&1; then
|
|
echo "✅ bc: Installed"
|
|
else
|
|
echo "❌ bc: Not installed"
|
|
fi
|
|
|
|
# Check jq
|
|
if command -v jq >/dev/null 2>&1; then
|
|
JQ_VERSION=$(jq --version 2>/dev/null || echo "Unknown")
|
|
echo "✅ jq: $JQ_VERSION"
|
|
else
|
|
echo "⚠️ jq: Not installed (optional)"
|
|
fi
|
|
|
|
# Check curl
|
|
if command -v curl >/dev/null 2>&1; then
|
|
CURL_VERSION=$(curl --version 2>/dev/null | head -1 || echo "Unknown")
|
|
echo "✅ curl: $CURL_VERSION"
|
|
else
|
|
echo "❌ curl: Not installed"
|
|
fi
|
|
echo ""
|
|
}
|
|
|
|
# Update dependencies
|
|
update_dependencies() {
|
|
echo "=== Updating Dependencies ==="
|
|
echo ""
|
|
|
|
# Update Foundry
|
|
if command -v forge >/dev/null 2>&1; then
|
|
echo "Updating Foundry..."
|
|
foundryup 2>/dev/null || echo "⚠️ foundryup not available"
|
|
fi
|
|
|
|
# Update system packages
|
|
echo "Updating system packages..."
|
|
sudo apt update && sudo apt upgrade -y 2>/dev/null || echo "⚠️ Requires sudo"
|
|
echo ""
|
|
}
|
|
|
|
# Security audit
|
|
audit_dependencies() {
|
|
echo "=== Dependency Security Audit ==="
|
|
echo ""
|
|
echo "1. ✅ Check for known vulnerabilities"
|
|
echo "2. ✅ Review dependency versions"
|
|
echo "3. ✅ Pin dependency versions for stability"
|
|
echo "4. ✅ Regular security audits"
|
|
echo ""
|
|
echo "Recommendations:"
|
|
echo "- Pin Foundry version in foundry.toml"
|
|
echo "- Regular security updates"
|
|
echo "- Monitor for security advisories"
|
|
echo ""
|
|
}
|
|
|
|
case "$ACTION" in
|
|
check) check_dependencies ;;
|
|
update) update_dependencies ;;
|
|
audit) audit_dependencies ;;
|
|
*)
|
|
echo "Usage: $0 [check|update|audit]"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|