- Added BUILD_RTI guards to InfrastructureManagement (ism_dtc_impl_custom.h/cpp) - Added BUILD_RTI guards to AudioVideoManagement dds_handler.h/cpp - Completed RoutingServiceNG BUILD_RTI guards and logger fixes - Fixed svcGmpServer C++23 reference initialization issues - Documented 1940 targets built successfully with BUILD_RTI=OFF - Updated next steps: complete BUILD_RTI guards, then validate with BUILD_RTI=ON
5.1 KiB
5.1 KiB
Qt6 Migration Status - Legatus
Zusammenfassung (Stand: 2026-08-21)
✅ Erfolgreich abgeschlossene Arbeiten
-
Docker-Infrastructure
- Image
migration-pipeline:ubuntu26.04mit Qt 6.10.2, CMake, Ninja - RTI Connext dauerhaft installiert (nicht gemappt)
- Ubuntu 26.04 Basis
- Image
-
Build-System
- 1940 Targets erfolgreich gebaut mit BUILD_RTI=OFF
- 3380 CMake-Targets insgesamt verfügbar
- FilterManagement-Plugins temporär ausgeschlossen (BUILD_RTI-abhängig)
-
Qt6-Migrationen
- 513 CMakeLists.txt in Lts/ migriert
- BUILD_RTI Guards in LtsSession implementiert (6 Dateien)
- Export-Header Stubs erstellt (4 Dateien):
include/GuezNasat/svcgnacommon_export.hinclude/AlarmManagement/svcalmcommon_export.hinclude/MarkerManagement/svcmrkcommon_export.hinclude/GuezNasat/svcgnaapi_export.h
-
BUILD_RTI Conditional Compilation
- ✅ Lts/Common - Vollständig migriert
- ✅ Lts/DDS - generic_fts, generic_base, dds_connector, routing_plugin
- ✅ Lts/Services/InfrastructureManagement - dds_handler.cpp, ism_dtc_impl_custom.h/cpp (20+ Funktionen)
- ✅ Lts/Services/AudioVideoManagement - dds_handler.h/cpp
- ✅ RoutingServiceNG - BUILD_RTI Guards und Logger-Fixes
- ✅ svcGmpServer - Logger-Initialisierung und Pacemaker-Header korrigiert
-
Korrekturen
- Include-Pfade korrigiert (resource_path.h, logger.h)
- QStringRef → QString migriert
- Qt6::Gui Dependencies hinzugefügt
- MOC-Probleme gefixt (staticMetaObject, override final)
- Pfad von
qt6-migrated-benchmark→qt6-migrated-legatuskorrigiert - C++23 Reference Member Initialization Fixes (svcGmpServer)
⚠️ Bekannte Einschränkungen
-
Policy-Check (
ci/check_pr_policies.py)- Erwartet Test-Dateien für alle geänderten C++-Dateien
- Bei 14.457 geänderten Dateien nicht praktikabel für initiale Migration
- Empfehlung: Policy-Check für Migrations-Branch deaktivieren oder DTC-Dateien ausnehmen
-
Tests
- 11 Tests registriert, aber nicht gebaut (BUILD_RTI=OFF)
- Tests benötigen RTI Connext Runtime
- Nächster Schritt: BUILD_RTI=ON Build validieren
-
FilterManagement-Plugins
- Temporär vom Build ausgeschlossen
- Werden nach BUILD_RTI=ON Validierung wieder eingebunden
📊 Migrationsfortschritt
| Bereich | Status | Details |
|---|---|---|
| Lts/Common | ✅ Vollständig | Build erfolgreich, 1/1 Tests |
| Lts/DDS | 🟡 In Arbeit | BUILD_RTI Guards in Kernmodulen |
| Lts/Plugins | 🟡 Teilweise | FilterManagement ausgeschlossen |
| Lts/Services | 🟡 In Arbeit | InfrastructureManagement, AudioVideoManagement Guards |
| Lts/Proxies | 🟡 Teilweise | Include-Pfade korrigiert |
| TetraIF | 🟡 Teilweise | Migration läuft |
| Z-Module | 🟡 Teilweise | nglwidgets, QtSingleApplication fertig |
🔄 Nächste Schritte
-
BUILD_RTI Guards vervollständigen (höchste Priorität)
- Lts/Services/OcBaseDownload/WebSocketInterface/Messages/client_message.cpp/h
- Lts/Services/AudioVideoManagement/dds_handler_exercise.h/cpp
- Verbleibende 20+ Dateien systematisch bearbeiten
-
BUILD_RTI=ON Validierung
docker run --rm -v $(pwd):/repo migration-pipeline:ubuntu26.04 \ cmake -S /repo/qt6-after/qt6-migrated-legatus -B /repo/build-rti \ -G Ninja -DCMAKE_BUILD_TYPE=Debug -DBUILD_RTI=ON docker run --rm -v $(pwd):/repo migration-pipeline:ubuntu26.04 \ cmake --build /repo/build-rti --parallel -
FilterManagement-Plugins wieder einbinden
- Nach erfolgreichem BUILD_RTI=ON Build
- CMakeLists.txt anpassen
-
Tests mit RTI ausführen
docker run --rm -v $(pwd):/repo migration-pipeline:ubuntu26.04 \ ctest --test-dir /repo/build-rti --output-on-failure -
Policy-Check Anpassung
- DTC-Dateien von Test-Pflicht ausnehmen
- Oder nur für PRs gegen main-Branch aktivieren
📝 Wichtige Dateien
qt6-after/qt6-migrated-legatus/- Zielverzeichnis der Migrationqt5-before/qt5-legatus-legacy/- Quellverzeichnis (Submodule)app/Dockerfile- Docker-Image Definitionci/check_pr_policies.py- Policy-Check Scriptqt6-after/qt6-migrated-legatus/Lts/Services/InfrastructureManagement/ism_dtc_impl_custom.h/cpp- BUILD_RTI Guards
🚀 Build-Commands
# Configure (BUILD_RTI=OFF)
docker run --rm -v $(pwd):/repo migration-pipeline:ubuntu26.04 \
cmake -S /repo/qt6-after/qt6-migrated-legatus -B /repo/build \
-G Ninja -DCMAKE_BUILD_TYPE=Debug
# Build
docker run --rm -v $(pwd):/repo migration-pipeline:ubuntu26.04 \
cmake --build /repo/build --parallel
# Configure mit RTI
docker run --rm -v $(pwd):/repo migration-pipeline:ubuntu26.04 \
cmake -S /repo/qt6-after/qt6-migrated-legatus -B /repo/build-rti \
-G Ninja -DCMAKE_BUILD_TYPE=Debug -DBUILD_RTI=ON
Letzter Build: Erfolgreich (1940 Targets)
Nächster Meilenstein: BUILD_RTI Guards vervollständigen, dann BUILD_RTI=ON Validierung
Letzter Commit: 93020295 - Add BUILD_RTI guards to InfrastructureManagement and AudioVideoManagement DDS handlers