Compare commits

..
Author SHA1 Message Date
torsten 00392560ad Adds immediate results on next release 2 iteration 2026-11-11 20:54:35 +00:00
3 changed files with 229 additions and 1 deletions

No files matched your search

+111
View File
@@ -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
+117
View File
@@ -0,0 +1,117 @@
# Release 2 Validation Report
## Build Information
- **Date**: $(date)
- **Branch**: story/release-2-cleanup
- **Script**: qt-migration-legatus/qt6-after/qt6-migrated-legatus/new_docker_build_release2.sh
- **Project**: guez
## Release 2 Scope
### AP3 — Shared Libraries
- LtsUtils
- Widgets
- Session
- Krypto
- PluginManager
- Required core libraries (NGL*, QtSingleApplication, etc.)
### AP4 — DDS Middleware
- Core
- DDSConnector
- Routing
- QosProfile
- RTI DDS compatibility layer
### AP9 — Tools and Translations
- DdsView
- LogViewer
- SqlBrowser
- Generators (DaoGenerator)
- lupdate toolchain
## Build Configuration
- GROUP1 (DDS/AP4): ON
- GROUP3 (Lts/AP3): ON
- GROUP5 (Viewer/AP9): ON
- GROUP6 (Tools/AP9): ON
- CTEST: ON
- Prebuilt Docker Image: YES
## Build Results
### Package Build Status
| Group | Target | Status | Notes |
|-------|--------|--------|-------|
| GROUP1 | ddscore | Pending | |
| GROUP1 | svcCoreClient | Pending | |
| GROUP1 | ddsftccore | Pending | |
| GROUP1 | ddsfts | Pending | |
| GROUP1 | ddsgen | Pending | |
| GROUP1 | ddsQoS | Pending | |
| GROUP1 | ddsconnector | Pending | |
| GROUP3 | NGL* libraries | Pending | Multiple targets |
| GROUP3 | svc* services | Pending | Multiple targets |
| GROUP5 | ddsView | Pending | |
| GROUP5 | logViewer | Pending | |
| GROUP5 | sqlBrowser | Pending | |
| GROUP6 | DaoGenerator | Pending | |
| GROUP6 | lupdate | Pending | |
### Test Results
- CTEST execution: Pending
- Pass rate: TBD
- Failures: TBD
## Qt6 Migration Verification
### KTextTemplate Usage
- [ ] All Grantlee5 references replaced with KTextTemplate
- [ ] DaoGeneratorGrantlee.cpp uses `<ktexttemplate/context.h>`
- [ ] include/grantlee/ directory removed
### Out-of-Scope Removal
- [ ] EvalApps/ removed
- [ ] Tests/ directories removed
- [ ] LastTestAuswertung/ removed
- [ ] .envrc removed from release
## Cleanup Verification
### Removed Files/Directories
1. include/grantlee/ - Qt5 Grantlee 5.3.0 headers
2. Lts/Viewer/SituationMap/EvalApps/ - Evaluation applications
3. Lts/Viewer/SituationMap/Tests/ - Test applications
4. Lts/Proxies/TrainingAreaBase/Plugins/AdlerJson/Tests/ - Test applications
5. TetraIF/PrtCnv/LastTestAuswertung/ - Test evaluation
6. .envrc - Development environment file
### CMake Updates
- [ ] TetraIF/PrtCnv/CMakeLists.txt - LastTestAuswertung reference removed
- [ ] SituationMap CMakeLists.txt - Test directories commented out
## Issues Encountered
### Build Issues
None reported yet.
### Permission Issues
- Root-owned build directories from previous builds require sudo for removal
- Affected: build/, build_test/, deb_build_tmp/, packages-out/
## Recommendations
1. **Disk Space**: Monitor /tmp usage during builds (12GB limit)
2. **Permissions**: Clean root-owned directories with sudo after Docker builds
3. **Validation**: Run full test suite after successful build
## Sign-off
- [ ] All Release 2 targets build successfully
- [ ] Tests pass (or documented failures are acceptable)
- [ ] Qt6 migration verified
- [ ] Out-of-scope files removed
- [ ] Documentation complete
---
*Generated: $(date)*