Next Level Setup: Qualitäts-Gate + Projekt-Regeln (.hermes.md)
This commit is contained in:
Executable
+42
@@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
# Git Pre-Commit Hook: Melo App Qualitäts-Gate
|
||||
# Läuft automatisch vor jedem git commit
|
||||
|
||||
echo "🔍 Melo App Qualitäts-Gate gestartet..."
|
||||
|
||||
# 1. Dart Analyse
|
||||
echo -n " Prüfe: dart analyze ... "
|
||||
ANALYZE_OUTPUT=$(flutter analyze 2>&1)
|
||||
if echo "$ANALYZE_OUTPUT" | grep -q "No issues found"; then
|
||||
echo "✅"
|
||||
else
|
||||
echo "❌ FEHLER!"
|
||||
echo "$ANALYZE_OUTPUT" | tail -20
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 2. Dart Formatierung
|
||||
echo -n " Prüfe: dart format ... "
|
||||
FORMAT_OUTPUT=$(dart format --set-exit-if-changed lib/ 2>&1)
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "✅"
|
||||
else
|
||||
echo "❌ Formatierungsfehler! Führe 'dart format lib/' aus."
|
||||
echo "$FORMAT_OUTPUT"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 3. Tests
|
||||
echo -n " Prüfe: flutter test ... "
|
||||
TEST_OUTPUT=$(flutter test 2>&1)
|
||||
if echo "$TEST_OUTPUT" | grep -q "All tests passed"; then
|
||||
echo "✅"
|
||||
elif echo "$TEST_OUTPUT" | grep -q "No tests found"; then
|
||||
echo "⚠️ Keine Tests vorhanden (überspringe)"
|
||||
else
|
||||
echo "❌ Tests fehlgeschlagen!"
|
||||
echo "$TEST_OUTPUT" | tail -20
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ Alle Prüfungen bestanden! Commit wird freigegeben."
|
||||
Reference in New Issue
Block a user