Adds report after first qt6 migration run through

This commit is contained in:
torsten committed 2026-08-20 09:29:50 +02:00
1 parent 72cbe318b6
commit cac1dd809e
1 file changed
+113
@@ -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