Qt6 Migration CI / migrate (push) Waiting to run
Entire-Checkpoint: 01M1PAC5S1VHGY9QR6Q0K6VSQP
1.9 KiB
1.9 KiB
Implement a Qt6 replacement for the legacy Qt5/Grantlee5 CodeGen parser and integrate it into the Qt6 build flow.
Context:
- Legacy parser A (Qt5 + Grantlee5):
./qt-migration-legatus/qt5-before/qt5-legatus-legacy/Lts/Common/CodeGen - Replacement parser B (Qt6 + KTextTemplate):
./qt-migration-legatus/qt6-after/qt6-migrated-legatus/Lts/Common/CodeGen - Docker build entry:
./app/Dockerfile - Relevant macros:
./qt-migration-legatus/qt5-before/qt5-legacy-legatus/cmake/MacroCodeGenIdl.cmake./qt-migration-legatus/qt6-after/qt6-migrated-legatus/cmake/MacroCodeGenIdl.cmake
Goals:
- Analyze how A is built and invoked in the Qt5 flow.
- Make B build reproducibly via
./app/Dockerfilewith Qt6 + KTextTemplate. - Find all relevant
*grantlee*input files and test B against all of them. - Fix/extend B only as needed to support real repository inputs.
- Integrate B into the Qt6 codegen/build flow based on how A is invoked.
- Update the relevant CMake/macro wiring.
- Preserve existing Qt6 migration work.
Requirements:
- Use Docker for building B.
- Use Docker to create and remove folders/files
- Inspect real call sites before changing integration.
- Keep changes small and reviewable.
- Touch Qt5-side files only if needed for analysis/comparison/minimal build clarity.
- If Grantlee behavior cannot be matched exactly in KTextTemplate, implement the best practical transitional solution and document remaining gaps.
./qt-migration-legatus/qt5-before/qt5-legacy-legatusis read-only
Done when:
- B builds successfully through
./app/Dockerfile - all relevant
*grantlee*inputs were tested with B - Qt6 build flow uses B instead of Grantlee5 dependency
- macro/CMake integration is updated
- remaining incompatibilities are documented
- provide a concise summary of changed files, test results, and open gaps
- commit and push in
./qt-migration-legatus/qt6-after/qt6-migrated-legatusafter user feedback