Adds release report
Entire-Checkpoint: 01M4AXD416W8SYX1NS69VCZP0K
This commit is contained in:
2 files changed
+373
No files matched your search
@@ -0,0 +1,126 @@
|
||||
# Release Scope Analysis - Qt6 Migration First Release
|
||||
|
||||
## Date: 2026-10-07
|
||||
## Branch: story/release-at-16-oct-2026
|
||||
|
||||
## Module Sets
|
||||
|
||||
### R (All Qt6-migrated modules)
|
||||
Top-level modules in qt6-migrated-legatus:
|
||||
- TetraIF
|
||||
- Z
|
||||
- Lts (with subdirectories: Common, DDS, Services, Proxies, Plugins, Viewer, Projects, Tools, Application)
|
||||
|
||||
### M (Modules to be released per prompt)
|
||||
- TetraIF
|
||||
- Z
|
||||
- Lts/Common
|
||||
|
||||
### S (Minimal release set = M + dependencies)
|
||||
|
||||
**S = M** (no external dependencies required)
|
||||
|
||||
All dependencies of M modules are contained within M:
|
||||
|
||||
#### TetraIF dependencies:
|
||||
- CoPrtCnv (internal to TetraIF directory)
|
||||
- NGLLogger (Z/src) ✓ in M
|
||||
- nglwidgets (Z/src) ✓ in M
|
||||
- nglapplication (Z/src) ✓ in M
|
||||
- ngltools (Z/src) ✓ in M
|
||||
- Qt6::Core, Qt6::Gui, Qt6::Network (system Qt6)
|
||||
|
||||
#### Z/src dependencies:
|
||||
- Qt6::Core, Qt6::Gui, Qt6::Network, Qt6::Widgets, Qt6::Sql (system Qt6)
|
||||
- No inter-Z dependencies that would require additional modules
|
||||
|
||||
#### Lts/Common dependencies:
|
||||
- NGLLogger (Z/src) ✓ in M
|
||||
- ngltools (Z/src) ✓ in M
|
||||
- nglsettings (Z/src) ✓ in M
|
||||
- nglapplication (Z/src) ✓ in M
|
||||
- nglcoreapplication (Z/src) ✓ in M
|
||||
- PluginInterfaces (Lts/Common/internal) ✓ in M
|
||||
- LtsWidgets (Lts/Common/internal) ✓ in M
|
||||
- LtsCoordTrans (Lts/Common/internal) ✓ in M
|
||||
- LtsUtilsCoreHeaderOnly (Lts/Common/internal) ✓ in M
|
||||
- Qt6::Core (system Qt6)
|
||||
|
||||
#### Conditional dependencies:
|
||||
- **ddscore** (Lts/Services/GROUP1): Only required when BUILD_RTI=ON
|
||||
- LtsCoordinate: uses `$<IF:$<TARGET_EXISTS:ddscore>,ddscore,>` (conditional)
|
||||
- LtsSession: uses `$<$<BOOL:${BUILD_RTI}>:ddscore>` (conditional)
|
||||
- LtsUtilsCore/LtsUtilsGuiDds: link to ddscore (conditional on BUILD_RTI)
|
||||
|
||||
**Recommendation**: For first release, set BUILD_RTI=OFF to avoid requiring Lts/Services
|
||||
**Alternative**: Include GROUP1 (ddscore, svcCoreClient) in S if RTI support is required
|
||||
|
||||
#### Excluded dependencies (NOT in S):
|
||||
- **Lts/Viewer/SituationMap**: Required by LtsElevation but LtsElevation is NOT in M
|
||||
- LtsElevation is one of 28 Lts/Common submodules
|
||||
- Since LtsElevation is not a required release module, its external dependencies are excluded
|
||||
- LtsElevation will be excluded from the release build
|
||||
|
||||
## Build Group Mapping
|
||||
|
||||
Current build groups in new_docker_build.sh:
|
||||
```
|
||||
GROUP1: Lts/Services (ddscore, svcCoreClient, etc.) - EXCLUDE (unless BUILD_RTI=ON)
|
||||
GROUP2: Lts/Proxies - EXCLUDE
|
||||
GROUP3: Z/src (all Z modules) - INCLUDE (part of M)
|
||||
GROUP4: Lts/DDS - EXCLUDE
|
||||
GROUP5: Lts/Common - INCLUDE (part of M)
|
||||
GROUP6: Lts/Tools - EXCLUDE
|
||||
GROUP7: Lts/Plugins - EXCLUDE
|
||||
GROUP8: Lts/Viewer - EXCLUDE
|
||||
GROUP9: Lts/Projects - EXCLUDE
|
||||
GROUP10: Lts/Application - EXCLUDE
|
||||
GROUP11: TetraIF - INCLUDE (part of M)
|
||||
```
|
||||
|
||||
## Required Changes
|
||||
|
||||
### 1. new_docker_build.sh
|
||||
- Set BUILD_GROUP3=ON (Z/src)
|
||||
- Set BUILD_GROUP5=ON (Lts/Common)
|
||||
- Set BUILD_GROUP11=ON (TetraIF)
|
||||
- Set all other BUILD_GROUP*=OFF
|
||||
- Set BUILD_RTI=OFF (to avoid ddscore dependency)
|
||||
- Modify Lts/Common build to exclude LtsElevation (depends on Lts/Viewer)
|
||||
|
||||
### 2. rpmbuild/make_rpm_ubuntu26.py
|
||||
- Update to only package S modules
|
||||
- Exclude non-S module paths
|
||||
|
||||
### 3. jenkins-ci-rme/
|
||||
- Update pipeline to only build/test S modules
|
||||
- Update artifact paths
|
||||
|
||||
### 4. CMakeLists.txt (optional)
|
||||
- May need to modify Lts/Common/CMakeLists.txt to conditionally exclude LtsElevation
|
||||
- Or control via MIGRATE_MODULE variable
|
||||
|
||||
## Validation Plan
|
||||
|
||||
1. Build with modified new_docker_build.sh
|
||||
2. Run CTest for S modules
|
||||
3. Verify RPM packages only contain S modules
|
||||
4. Verify Jenkins pipeline only builds S modules
|
||||
|
||||
## Files to Modify
|
||||
|
||||
1. `qt-migration-legatus/qt6-after/qt6-migrated-legatus/new_docker_build.sh`
|
||||
2. `rpmbuild/make_rpm_ubuntu26.py`
|
||||
3. `jenkins-ci-rme/` (specific files TBD)
|
||||
4. Potentially `qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Common/CMakeLists.txt`
|
||||
|
||||
## Commit Strategy
|
||||
|
||||
Per commit-policy.prompt.md:
|
||||
- Separate commits for each repository
|
||||
- Signed commits required
|
||||
- Repositories:
|
||||
- qt6-migration-pipeline (main)
|
||||
- qt-migration-legatus (submodule)
|
||||
- rpmbuild (submodule)
|
||||
- jenkins-ci-rme (submodule)
|
||||
Reference in new issue
Block a user