Updates viewer migration prompt
This commit is contained in:
1 file changed
+40
-11
@@ -33,11 +33,13 @@ Only these variants are valid:
|
||||
|
||||
- BUILD_RTI=ON
|
||||
- BUILD_GRANTLEE=ON
|
||||
- BUILD_ARCGIS=ON
|
||||
|
||||
Forbidden:
|
||||
|
||||
- BUILD_RTI=OFF
|
||||
- BUILD_GRANTLEE=OFF
|
||||
- BUILD_ARCGIS=OFF
|
||||
|
||||
Rules:
|
||||
|
||||
@@ -50,7 +52,7 @@ Rules:
|
||||
|
||||
Qt6 target branch:
|
||||
|
||||
- features/migrate-lts-viewer
|
||||
- feature/lift-lts-viewer-module-upto-qt6
|
||||
|
||||
Qt5 legacy branch, if comparison is needed:
|
||||
|
||||
@@ -136,25 +138,37 @@ Check first for duplicate inputs, stale paths, removed-module references, source
|
||||
|
||||
## Stubs and forward declarations
|
||||
|
||||
Any required existing stub, compatibility declaration, or forward declaration must live only under:
|
||||
|
||||
- ./qt-migration-legatus/qt6-after/qt6-migrated-legatus/forward-declarations/
|
||||
- ./qt-migration-legatus/qt6-after/qt6-migrated-legatus/.forward-declarations/include/
|
||||
|
||||
Rules:
|
||||
|
||||
- Do not leave such files in service directories unless they are real service source files.
|
||||
- Do not create or keep stubs for forbidden OFF variants.
|
||||
- Do not use stubs or forward declarations as replacements for real RTI, ndsgen, KTextTemplate, or Grantlee outputs in ON builds.
|
||||
- Report every moved, removed, or newly referenced stub/forward declaration.
|
||||
|
||||
## Migration checks
|
||||
|
||||
Before changing any files, compare these directories and document/classify the differences:
|
||||
|
||||
- Source: `./qt-migration-legatus/qt5-before/qt5-legatus-legacy/Lts/Viewer`
|
||||
- Target: `./qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Viewer`
|
||||
|
||||
Use the classifications below and explain the disposition of each relevant difference:
|
||||
|
||||
- already migrated
|
||||
- missing and required for the in-scope Qt6 migration
|
||||
- stale or generated
|
||||
- intentionally removed under the preservation rules
|
||||
- build-only
|
||||
- requiring Qt6 adaptation
|
||||
|
||||
Copy missing required code parts from the source directory into the target directory when needed for this in-scope migration, then adapt them for Qt6 as required. Preserve intentional removals and all other preservation/scope rules; never modify the Qt5 legacy tree.
|
||||
|
||||
Copy required non-C++ files as well as `.cpp` and `.h` files. This includes `.ini` configuration files, image files, resources/assets, metadata/configuration files, and other runtime or test data needed to execute the services and their tests. Classify these files in the comparison and copy only those required by the in-scope Qt6 migration.
|
||||
|
||||
For each cmake target, inspect and migrate only as needed:
|
||||
|
||||
- source and header files
|
||||
- CMakeLists.txt and parent CMake registration
|
||||
- ui, qrc, resource, plugin, and service metadata
|
||||
- ui, qrc, resource, plugin, service metadata, configuration, images, and other required runtime/test data
|
||||
- RTI IDL, ndsgen, KTextTemplate, and Grantlee inputs/templates
|
||||
- tests directly tied to these services
|
||||
|
||||
@@ -169,6 +183,19 @@ Fix only real Qt6/C++17 build issues, such as:
|
||||
|
||||
No opportunistic refactoring or style cleanup.
|
||||
|
||||
## ArcGIS Maps SDK migration
|
||||
|
||||
The migration from `MapsSDK_Qt_100.0.0` to `MapsSDK_Qt_300.0.0` is partly impossible as a purely mechanical port because SDK/API changes can require design decisions.
|
||||
|
||||
- Before ArcGIS migration work or validation, read the current Lts/Viewer ArcGIS migration and build state from `./ARC_GIS_BUILD_REQUIREMENTS.md` and treat it as the factual starting point.
|
||||
- ArcGIS must be installed with `./qt-migration-legatus/qt6-after/qt6-migrated-legatus/install_arcgis.sh`.
|
||||
- The previous ArcGIS installer/license EULA issue was fixed; do not treat that known EULA issue as still blocking without rechecking the current installer result.
|
||||
- After running the ArcGIS installer, verify whether previously missing binaries such as the Qt Bundler and related required SDK tools are now installed. Report exact missing binaries if any are still absent.
|
||||
- First document the affected code sections and modules, and identify the SDK/API changes that prevent a direct mechanical port.
|
||||
- Then propose concrete porting approaches for each affected section, including any required design decisions.
|
||||
- Do not claim the migration is complete until those affected sections have been addressed or reported as blocked.
|
||||
- Do not use fake or stubbed success, or mechanical replacements, when the SDK/API change requires a design decision.
|
||||
|
||||
## Qt link rules
|
||||
|
||||
No active target in the Qt6 tree may link Qt5 imported targets.
|
||||
@@ -266,9 +293,9 @@ Jenkins CI must be able to discover and run the new tests, or verify that new_do
|
||||
## Required procedure
|
||||
|
||||
1. Inspect repository state, branch, working tree, submodules, required prompts, service paths, and forward-declaration directories.
|
||||
2. Compare Qt5 source services with Qt6 targets. Classify files as already migrated, missing, stale, generated, intentionally removed, build-only, or needing Qt6 adaptation.
|
||||
3. Identify dependencies, generated inputs, Qt modules, parent CMake entries, removed-module references, LogViewer interactions, and required stub/forward-declaration relocations.
|
||||
4. Apply the smallest valid migration changes.
|
||||
2. Before changing files, compare `./qt-migration-legatus/qt5-before/qt5-legatus-legacy/Lts/Viewer` with `./qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Viewer`. Document and classify relevant differences, including missing code and non-C++ runtime/test files, as specified under Migration checks.
|
||||
3. Identify dependencies, generated inputs, Qt modules, parent CMake entries, removed-module references, LogViewer interactions, and required stub/forward-declaration relocations. Document affected ArcGIS SDK code sections/modules and propose concrete porting approaches before implementing changes to them.
|
||||
4. Apply the smallest valid migration changes, copying only missing required source code and non-C++ files/assets into the Qt6 target tree while respecting preservation rules.
|
||||
5. Add required CTest tests for C++ changes.
|
||||
6. Review RTI, ndsgen, KTextTemplate, and Grantlee generation paths.
|
||||
7. Check regressions: Qt5 links, removed modules, LogViewer, IDL warnings, source-tree generated consumption, stale artifacts, and misplaced stubs.
|
||||
@@ -355,6 +382,8 @@ Keep it short. Include:
|
||||
- tests added per C++ change
|
||||
- CTest registration changes
|
||||
- CMake and generator changes
|
||||
- source/target differences documented and classified, including copied non-C++ files/assets
|
||||
- affected ArcGIS SDK code sections/modules and proposed porting approaches
|
||||
- stub/forward-declaration moves or removals
|
||||
- Docker and Jenkins CI changes
|
||||
- Qt5 references removed or remaining
|
||||
|
||||
Reference in new issue
Block a user