Files
qt6-migration-pipeline/prompts/grantlee-parser-toktexttemplate-porting.prompt.md
T
torsten 08097c6f4f
Qt6 Migration CI / migrate (push) Has been cancelled
Moves prompts somewhere else
2026-09-04 21:34:36 +02:00

40 lines
1.9 KiB
Markdown

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:
1. Analyze how A is built and invoked in the Qt5 flow.
2. Make B build reproducibly via `./app/Dockerfile` with Qt6 + KTextTemplate.
3. Find all relevant `*grantlee*` input files and test B against all of them.
4. Fix/extend B only as needed to support real repository inputs.
5. Integrate B into the Qt6 codegen/build flow based on how A is invoked.
6. Update the relevant CMake/macro wiring.
7. 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-legatus` is 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-legatus` after user feedback