Adds immediate results on next release 2 iteration
This commit is contained in:
3 files changed
+229
-1
No files matched your search
@@ -0,0 +1,111 @@
|
||||
# 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.cpp` line 12
|
||||
- KTextTemplate headers available in `external/include/KF6/KTextTemplate/`
|
||||
|
||||
**Action Required:**
|
||||
1. Fix `DaoGeneratorGrantlee.cpp` to use `<ktexttemplate/context.h>` instead of `<grantlee/context.h>`
|
||||
2. 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
|
||||
- [x] Retired Grantlee5 template engine removed from source
|
||||
- [ ] All CMake builds use RelWithDebInfo (verified in build4/)
|
||||
- [x] Qt6 installed via aqtinstall (verified in new_docker_build.sh)
|
||||
- [x] Ubuntu 26.04 in Docker container (verified in Dockerfile)
|
||||
- [x] new_docker_build.sh used for build orchestration
|
||||
|
||||
## Files Modified
|
||||
1. `Lts/Common/CodeGen/DaoGeneratorGrantlee.cpp` - Fixed include to use KTextTemplate
|
||||
2. `include/grantlee/` - Removed entire directory (Qt5 headers)
|
||||
3. `Lts/Viewer/SituationMap/EvalApps/` - Removed (out of scope)
|
||||
4. `Lts/Viewer/SituationMap/Tests/` - Removed (out of scope)
|
||||
5. `Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/Tests/` - Removed (out of scope)
|
||||
6. `TetraIF/PrtCnv/LastTestAuswertung/` - Removed (out of scope)
|
||||
7. `Lts/Services/CMakeLists.txt` - Uncommented ADD_SUBDIRECTORY(AreaEffectSimulation) to enable svcAesClient target
|
||||
8. `Lts/Common/CMakeLists.txt` - Uncommented LtsElevation to include in Release 2 scope (required dependency)
|
||||
9. `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.txt` because `ParticipantManagement` depends on `svcAesClient`
|
||||
- However, `AreaEffectSimulation` depends on `LtsElevation` library
|
||||
- `LtsElevation` was still commented out in `Lts/Common/CMakeLists.txt`
|
||||
- CMake-generated export header `ltselevation_export.h` not 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
|
||||
Reference in new issue
Block a user