diff --git a/qt6-after/qt6-migrated-legatus/MIGRATION_STATUS.md b/qt6-after/qt6-migrated-legatus/MIGRATION_STATUS.md new file mode 100644 index 000000000..493e4ccf5 --- /dev/null +++ b/qt6-after/qt6-migrated-legatus/MIGRATION_STATUS.md @@ -0,0 +1,113 @@ +# Qt6 Migration Status - Legatus + +## Zusammenfassung (Stand: 2026-08-18) + +### ✅ Erfolgreich abgeschlossene Arbeiten + +1. **Docker-Infrastructure** + - Image `migration-pipeline:ubuntu26.04` mit Qt 6.10.2, CMake, Ninja + - RTI Connext dauerhaft installiert (nicht gemappt) + - Ubuntu 26.04 Basis + +2. **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) + +3. **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.h` + - `include/AlarmManagement/svcalmcommon_export.h` + - `include/MarkerManagement/svcmrkcommon_export.h` + - `include/GuezNasat/svcgnaapi_export.h` + +4. **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-legatus` korrigiert + +### ⚠️ Bekannte Einschränkungen + +1. **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 + +2. **Tests** + - 11 Tests registriert, aber nicht gebaut (BUILD_RTI=OFF) + - Tests benötigen RTI Connext Runtime + - **Nächster Schritt**: BUILD_RTI=ON Build validieren + +3. **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 | +| Lts/DDS | ✅ Struktur | BUILD_RTI Guards implementiert | +| Lts/Plugins | 🟡 Teilweise | FilterManagement ausgeschlossen | +| Lts/Services | 🟡 Teilweise | Export-Header Stubs erstellt | +| Lts/Proxies | 🟡 Teilweise | Include-Pfade korrigiert | +| TetraIF | 🟡 Teilweise | Migration läuft | +| Z-Module | 🟡 Teilweise | nglwidgets, QtSingleApplication fertig | + +### 🔄 Nächste Schritte + +1. **BUILD_RTI=ON Validierung** (höchste Priorität) + ```bash + 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 + ``` + +2. **FilterManagement-Plugins wieder einbinden** + - Nach erfolgreichem BUILD_RTI=ON Build + - CMakeLists.txt anpassen + +3. **Tests mit RTI ausführen** + ```bash + docker run --rm -v $(pwd):/repo migration-pipeline:ubuntu26.04 \ + ctest --test-dir /repo/build-rti --output-on-failure + ``` + +4. **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 Migration +- `qt5-before/qt5-legatus-legacy/` - Quellverzeichnis (Submodule) +- `app/Dockerfile` - Docker-Image Definition +- `ci/check_pr_policies.py` - Policy-Check Script + +### 🚀 Build-Commands + +```bash +# 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=ON Validierung \ No newline at end of file