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

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:

  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