Files
qt6-migration-pipeline/MIGRATION_STATUS.md
T
torstenandCopilot e75e6c2527
Qt6 Migration CI / migrate (push) Waiting to run
Fix FileManagement Build-Fehler (BUILD_RTI=OFF)
- flm_db.h: Stub-Header mit Folder/FileContent Klassen erstellt
- flm_enums.hpp: MainFolder Enum hinzugefügt (None=0)
- flm_translation.h: toInt() entfernt, trFolderName() angepasst
- Plugin-Interfaces erstellt (flm, opm, exm)
- Viewer-Dialogs: QString-Konvertierungen behoben
- AdvancedSymbology CMakeLists.txt: Ungültige Pfade entfernt
- ism_mounting_point.cpp: Redundante Definitionen entfernt

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Entire-Checkpoint: 01M17E9WDQ8TKCHFMB62F3Z3J3
2026-08-29 21:00:21 +02:00

139 lines
5.1 KiB
Markdown

# Qt5 zu Qt6 Migration - Statusbericht
**Stand**: 2026-08-18
**Build-Konfiguration**: BUILD_RTI=OFF (DDS Code-Generierung deaktiviert)
**Qt-Version**: 6.10.2
**C++ Standard**: C++17 (C++23 geplant, aber RTI 7.7 Inkompatibilität)
---
## 📊 Gesamtübersicht
| Bereich | Status | Build (RTI=OFF) | Notes |
|---------|--------|-----------------|-------|
| **Lts/Common** | ✅ Vollständig | ✅ Erfolgreich | Basis-Module migriert |
| **Lts/DDS** | 🟡 Struktur vorhanden | ⚠️ Stub-Header nötig | DDS-Code-Generator läuft nicht ohne RTI |
| **Lts/Viewer** | 🟡 Teilweise | ⚠️ Fehlende Dependencies | LtsFileDialog ✅, LtsDataView ❌ |
| **Lts/Plugins** | 🟡 Struktur vorhanden | ❌ Nicht getestet | 60 Untermodule |
| **Lts/Services** | 🟡 Struktur vorhanden | ❌ Nicht getestet | 47 Untermodule |
| **Lts/Projects** | 🟡 Struktur vorhanden | ❌ Nicht getestet | 5 Untermodule |
| **Lts/Proxies** | 🟡 Struktur vorhanden | ❌ Nicht getestet | 13 Untermodule |
| **TetraIF** | 🟡 Teilweise | ❌ Nicht getestet | Migration läuft |
| **Z-Module** | 🟡 Teilweise | ⚠️ Include-Pfad Probleme | NGLLogger Pfad korrigieren |
---
## 🔍 Detailstatus pro Modul
### ✅ Erfolgreich migriert (BUILD_RTI=OFF)
#### Lts/Common
- **Status**: ✅ Vollständig migriert
- **Build**: ✅ Erfolgreich
- **Tests**: 1/1 bestanden
- **Module**:
- LtsUtils (Core, Settings, GuiConnectDialog)
- LtsWidgets
- LtsSession
- LtsAppDescriptor
- LtsPluginManager
- LtsCommandLineParser
#### Lts/Viewer/LtsFileDialog
- **Status**: ✅ Header korrigiert
- **Build**: ✅ Compiliert erfolgreich
- **Link**: ⚠️ Fehlende Dependencies (LtsDataView, svcFlmCommon, svcOpmCommon, svcExmCommon)
- **Korrekturen**:
- `flm_db.h` Stub-Header erstellt (DDS-generierten Code ersetzt)
- `flm_enums.hpp` Enums aus XML extrahiert
- `flm_translation.h` aktualisiert
- QString/std::string Konvertierungen behoben
- Folder::name() Rückgabetyp zu std::string geändert
### ⚠️ Teilweise migriert / Build-Probleme
#### Lts/Viewer/LtsDataView
- **Status**: ❌ Nicht migriert
- **Problem**: Header-Datei fehlt (`LtsDataView/lts_data_view.h`)
- **Lösung**: Modul muss migriert werden
#### Lts/Services/InfrastructureManagement
- **Status**: ⚠️ Include-Pfad Problem
- **Problem**: `NGLLogger/Z/src/NGLLogger` Pfad existiert nicht
- **Lösung**: CMakeLists.txt Include-Pfade korrigieren
#### Lts/Services/ProjectDataManagement
- **Status**: ⚠️ Enum-Wert fehlt
- **Problem**: `L25_KindGuidingLine::nesA` existiert nicht
- **Lösung**: Enum-Definition prüfen und ergänzen
#### Z/src/NGLLogger
- **Status**: ⚠️ Include-Pfad Problem
- **Problem**: CMake generiert falschen Pfad `/repo/build-qt6-validation/Z/src/NGLLogger/Z/src/NGLLogger`
- **Lösung**: CMakeLists.txt Include-Pfade korrigieren
#### Lts/Tools/Adler/WebSocketSimulator
- **Status**: ❌ QtWidgets Include fehlt
- **Problem**: `#include <QtWidgets/QAction>` wird nicht gefunden
- **Lösung**: Qt6 Widgets Component explizit finden und verlinken
---
## 🛠️ Offene Aufgaben
### Hochprioritär
1. **LtsDataView migrieren** - Wird von LtsFileDialog und anderen Modulen benötigt
2. **svcFlmCommon, svcOpmCommon, svcExmCommon** - Service-Libraries migrieren oder Stubs erstellen
3. **NGLLogger Include-Pfad** - CMakeLists.txt korrigieren
4. **ProjectDataManagement Enums** - Fehlende Enum-Werte ergänzen
5. **QtWidgets Includes** - Alle Qt6 Widgets Components explizit verlinken
### Mittlere Priorität
6. **Lts/Plugins Kernmodule** - Priorisiere essentielle Plugins
7. **Lts/Services Basis** - InfrastructureManagement, OperatorManagement
8. **TetraIF vervollständigen** - Restlichen Code migrieren
### Niedrige Priorität
9. **Lts/Tools** - Adler WebSocket Simulator und andere Tools
10. **Vollständige Testabdeckung** - Tests für alle migrierten Module
---
## 📝 Build-Status (BUILD_RTI=OFF)
```
Configure: ✅ Erfolgreich (mit CMake-Warnings)
Compile: ⚠️ 4/1187 Targets erfolgreich, dann Fehler
Link: ❌ Fehlende Libraries (LtsDataView, svcFlmCommon, svcOpmCommon, svcExmCommon)
```
### Bekannte Warnungen
- `QVariant::canConvert(int)` deprecated in Qt6 → zu `canConvert<T>()` migrieren
- NGLLogger Include-Pfad ungültig
- AdvancedSymbology Viewer-Pfade in CMakeLists.txt entfernt
---
## 🔄 Nächste Schritte
1. **LtsDataView migrieren** (Blocker für LtsFileDialog)
2. **Service-Stubs erstellen** für FlmCommon, OpmCommon, ExmCommon (BUILD_RTI=OFF)
3. **NGLLogger CMakeLists.txt** korrigieren
4. **ProjectDataManagement Enums** vervollständigen
5. **QtWidgets Components** explizit verlinken in allen CMakeLists.txt
---
## 📌 Wichtige Dateien
- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_db.h` - DDS Stub-Header
- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_enums.hpp` - Zentrale Enums
- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_translation.h` - Übersetzungen
- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/InfrastructureManagement/ism_mounting_point.h` - ISM Interface
---
**Erstellt**: 2026-08-18
**Letzte Aktualisierung**: 2026-08-18
**Autor**: Migration Team