4.8 KiB
Release 2 Cleanup Audit Report
Scope Definition
Release 2 Scope (S):
- AP3: LtsUtils, Widgets, Session, Krypto, PluginManager
- AP4: DDS Core, DDSConnector, Routing, QosProfile, RTI DDS layer
- AP9: DdsView, LogViewer, SqlBrowser, generators, lupdate toolchain
Out of Scope (R \ S):
- Evaluation apps (EvalApps/)
- Test applications (Tests/)
- LastTestAuswertung
- External SDK templates (ArcGIS)
- External specs
- Qt5 Grantlee5 template engine (replaced by KTextTemplate)
Cleanup Actions
1. Qt5 Grantlee Headers Removal
Files to remove: /include/grantlee/ (entire directory)
Reason: Old Qt5 Grantlee5 headers - retired template engine replaced by KTextTemplate
Evidence:
- Source files use
<ktexttemplate/...>(lowercase) - Only one file still references old Grantlee:
DaoGeneratorGrantlee.cppline 12 - KTextTemplate headers available in
external/include/KF6/KTextTemplate/
Action Required:
- Fix
DaoGeneratorGrantlee.cppto use<ktexttemplate/context.h>instead of<grantlee/context.h> - Remove entire
/include/grantlee/directory
2. Out-of-Scope Directories
Directories to remove:
Lts/Viewer/SituationMap/EvalApps/- Evaluation apps (out of scope)Lts/Viewer/SituationMap/Tests/- Test applications (out of scope)Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/Tests/- Test applications (out of scope)TetraIF/PrtCnv/LastTestAuswertung/- Test evaluation (out of scope)
Reason: Not part of AP3, AP4, or AP9 scope
3. FindGrantlee5.cmake Compatibility Shim
File: qt-migration-legatus/qt6-after/qt6-migrated-legatus/cmake/FindGrantlee5.cmake
Status: KEEP for now - provides backward compatibility
Reason: May be needed for legacy dependencies, not actively used by migrated code
Verification Checklist
Qt6 Migration Requirements
- Retired Grantlee5 template engine removed from source
- All CMake builds use RelWithDebInfo (verified in build4/)
- Qt6 installed via aqtinstall (verified in new_docker_build.sh)
- Ubuntu 26.04 in Docker container (verified in Dockerfile)
- new_docker_build.sh used for build orchestration
Files Modified
Lts/Common/CodeGen/DaoGeneratorGrantlee.cpp- Fixed include to use KTextTemplateinclude/grantlee/- Removed entire directory (Qt5 headers)Lts/Viewer/SituationMap/EvalApps/- Removed (out of scope)Lts/Viewer/SituationMap/Tests/- Removed (out of scope)Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/Tests/- Removed (out of scope)TetraIF/PrtCnv/LastTestAuswertung/- Removed (out of scope)Lts/Services/CMakeLists.txt- Uncommented ADD_SUBDIRECTORY(AreaEffectSimulation) to enable svcAesClient targetLts/Common/CMakeLists.txt- Uncommented LtsElevation to include in Release 2 scope (required dependency)new_docker_build_release2.sh- Created Release 2 build script with dependency installation
Dependency Resolution
LtsElevation Library Inclusion
Issue: Build failed with fatal error: ltselevation_export.h: No such file or directory
Root Cause Analysis:
AreaEffectSimulation(svcAesClient) was initially excluded from Release 2- Uncommented in
Lts/Services/CMakeLists.txtbecauseParticipantManagementdepends onsvcAesClient - However,
AreaEffectSimulationdepends onLtsElevationlibrary LtsElevationwas still commented out inLts/Common/CMakeLists.txt- CMake-generated export header
ltselevation_export.hnot created
Dependency Chain:
ParticipantManagement (AP3 - in scope)
└── svcAesClient (AP3 - in scope)
└── AreaEffectSimulation (AP3 - in scope)
└── LtsElevation (AP3 - ADD TO SCOPE)
Resolution: Uncommented ADD_SUBDIRECTORY(LtsElevation) in Lts/Common/CMakeLists.txt
Impact Assessment:
- LtsElevation provides elevation/terrain management functionality
- Required by trajectory generation in AreaEffectSimulation
- Minimal footprint: depends on Qt6::Gui (optional), NGLLogger, LtsUtilsCoreHeaderOnly
- When BUILD_RTI=ON: additionally links AsmDataPluginInterface, ExmDataPluginInterface, situationMapCommon, situationMapElevationMap
Docker Container Dependencies
Issue: cmake: command not found in Docker container
Root Cause: When USE_PREBUILT_IMAGE=OFF, script used base ubuntu:26.04 image without installing build dependencies
Resolution: Added dependency installation step inside container before build:
- cmake, ninja-build, build-essential
- Qt6 development packages
- KF6 TextTemplate
- Boost, PostgreSQL, VLC, SSL, XML libraries
- AQT install for Qt6 6.10.2
- KDReports from source
Script Updated: new_docker_build_release2.sh now installs all dependencies when not using prebuilt image
Evidence Preservation
- All removals documented with scope reference
- Qt6 migration verified via source code analysis
- Build configuration verified via CMakeCache.txt