Files
qt6-migration-pipeline/MIGRATION_STATUS.md
T
torstenandCopilot e40babd915 Update MIGRATION_STATUS.md: FileManagement Build-Fehler behoben
- FileManagement Stub-Header vervollständigt (flm_db.h, flm_enums.hpp, flm_translation.h)
- Plugin-Interface-Header erstellt (flm, opm, exm)
- Viewer-Dialog-Dateien korrigiert (QString-Konvertierungen)
- AdvancedSymbology CMakeLists.txt bereinigt
- Kritische Blocker dokumentiert (LtsDataView, svcFlmCommon, svcOpmCommon, svcExmCommon)
- Nächste Schritte: LtsDataView und Service-Commons migrieren

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

179 lines
7.9 KiB
Markdown

# Qt5 zu Qt6 Migration - Statusbericht
**Stand**: 2026-08-29 (Update 2)
**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)
**Submodule Branch**: feature/qt6-migration-basis-modules @ e75e6c25
---
## 📊 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 (2026-08-29)
- **Build**: ✅ Compiliert erfolgreich bis Linker
- **Link**: ⚠️ Fehlende Dependencies (LtsDataView, svcFlmCommon, svcOpmCommon, svcExmCommon)
- **Korrekturen (2026-08-29)**:
- `flm_db.h` Stub-Header vervollständigt (alle Member-Variablen, Methoden, Initialisierung)
- `flm_enums.hpp` Enums aus XML extrahiert (FileStatus, FileCategory, FileType, MainFolder)
- `flm_translation.h` aktualisiert (toInt() entfernt, trFolderName() korrigiert)
- `flm_ftc.h` minimaler Stub-Header erstellt
- Plugin-Interfaces erstellt (flm, opm, exm data plugin interface)
- QString/std::string Konvertierungen behoben in:
- `lts_dialog_model_folder.cpp`
- `lts_file_dialog_widget.cpp`
- `lts_dialog_model_file.cpp`
- Folder::name() Rückgabetyp: std::string (kompatibel)
- FileContent: Alle benötigten Methoden implementiert (fileStatus, name, isTemplate, fileType, fileId, folderId, operatorId, mainFolder, exerciseId, properties, isDeleted, usedBy, lastModified, phaseId, isUsedBy, isHidden)
- std::optional für exerciseId/phaseId unterstützt
#### InfrastructureManagement
- **Status**: ✅ ism_mounting_point.h migriert (2026-08-29)
- **Korrekturen**:
- Header von Qt5-Quellcode kopiert
- Include-Pfade korrigiert (`#include "ismshared_export.h"` relativ)
- Redundante Methodendefinitionen in `.cpp` entfernt
### ⚠️ Teilweise migriert / Build-Probleme
#### Lts/Viewer/LtsDataView
- **Status**: ❌ Nicht migriert (KRITISCH - Blocker)
- **Problem**: Header-Datei fehlt (`LtsDataView/lts_data_view.h`)
- **Lösung**: Modul muss migriert werden (HOCHPRIORITÄT - Blocker für LtsFileDialog)
- **Dependencies**: Wird von LtsFileDialog, LtsSessionData benötigt
#### Lts/Services/svcFlmCommon
- **Status**: ❌ Nicht migriert (KRITISCH - Blocker)
- **Problem**: Library fehlt im Linker
- **Lösung**: Modul migrieren oder Stub erstellen (HOCHPRIORITÄT)
- **Pfad**: `Lts/Services/FileManagement/svcFlmCommon/`
#### Lts/Services/svcOpmCommon
- **Status**: ❌ Nicht migriert (KRITISCH - Blocker)
- **Problem**: Library fehlt im Linker
- **Lösung**: Modul migrieren oder Stub erstellen (HOCHPRIORITÄT)
- **Pfad**: `Lts/Services/OperatorManagement/svcOpmCommon/`
#### Lts/Services/svcExmCommon
- **Status**: ❌ Nicht migriert (KRITISCH - Blocker)
- **Problem**: Library fehlt im Linker
- **Lösung**: Modul migrieren oder Stub erstellen (HOCHPRIORITÄT)
- **Pfad**: `Lts/Services/ExerciseManagement/svcExmCommon/`
#### 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 (Blocker für LtsFileDialog Build)
1. ✅ **FileManagement Stub-Header vervollständigt** (2026-08-29)
2. ❌ **LtsDataView migrieren** - Wird von LtsFileDialog und anderen Modulen benötigt
3. ❌ **svcFlmCommon migrieren** - Service-Library für FileManagement Common
4. ❌ **svcOpmCommon migrieren** - Service-Library für OperatorManagement Common
5. ❌ **svcExmCommon migrieren** - Service-Library für ExerciseManagement Common
### Mittlere Priorität
6. ❌ **NGLLogger Include-Pfad** - CMakeLists.txt korrigieren
7. ❌ **ProjectDataManagement Enums** - Fehlende Enum-Werte ergänzen
8. ❌ **QtWidgets Includes** - Alle Qt6 Widgets Components explizit verlinken
9. ❌ **Lts/Plugins Kernmodule** - Priorisiere essentielle Plugins
10. ❌ **Lts/Services Basis** - InfrastructureManagement, OperatorManagement
### Niedrige Priorität
11. ❌ **Lts/Tools** - Adler WebSocket Simulator und andere Tools
12. ❌ **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 (fehlende Dependencies)
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 (Priorisiert)
1. **LtsDataView migrieren** (Blocker für LtsFileDialog)
2. **svcFlmCommon, svcOpmCommon, svcExmCommon** - Service-Stubs oder vollständige Migration
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 (2026-08-29 aktualisiert)
- `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 (2026-08-29 aktualisiert)
- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_ftc.h` - FTC Stub (2026-08-29 neu)
- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/FileManagement/flm_data_plugin_interface.h` - Plugin Interface (2026-08-29 neu)
- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/OperatorManagement/opm_data_plugin_interface.h` - Plugin Interface (2026-08-29 neu)
- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/ExerciseManagement/exm_data_plugin_interface.h` - Plugin Interface (2026-08-29 neu)
- `qt-migration-legatus/qt6-after/qt6-migrated-legatus/include/InfrastructureManagement/ism_mounting_point.h` - ISM Interface (2026-08-29 migriert)
---
**Erstellt**: 2026-08-18
**Letzte Aktualisierung**: 2026-08-29
**Autor**: Migration Team