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

7.9 KiB

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

  1. ❌ NGLLogger Include-Pfad - CMakeLists.txt korrigieren
  2. ❌ ProjectDataManagement Enums - Fehlende Enum-Werte ergänzen
  3. ❌ QtWidgets Includes - Alle Qt6 Widgets Components explizit verlinken
  4. ❌ Lts/Plugins Kernmodule - Priorisiere essentielle Plugins
  5. ❌ Lts/Services Basis - InfrastructureManagement, OperatorManagement

Niedrige Priorität

  1. ❌ Lts/Tools - Adler WebSocket Simulator und andere Tools
  2. ❌ 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