Qt6 Migration CI / migrate (push) Waiting to run
Entire-Checkpoint: 01M1PAC5S1VHGY9QR6Q0K6VSQP
2.6 KiB
2.6 KiB
✅ Porting Complete - Verification Results
Build Status
- ✅ CMake configuration succeeds with
BUILD_GRANTLEE=ON - ✅
libcodegen_grantlee.astatic library builds successfully - ✅
grantlee_parser_smoketest executable builds successfully - ✅ No compilation errors or warnings (except deprecated QDomDocument API notices)
Smoke Test Results
- ✅ All 58
.grantleetemplate files load successfully with KTextTemplate - ✅ All templates parse without errors
- ✅ All templates render successfully (tested with empty context)
- ✅ Exit code: 0 (success)
Files Modified
qt6-after/qt6-migrated-legatus/Lts/Common/CodeGen/CMakeLists.txt- KF6TextTemplate integrationqt6-after/qt6-migrated-legatus/Lts/Common/CodeGen/GeneratorGrantleeBase.h- Namespace changes + include guardsqt6-after/qt6-migrated-legatus/Lts/Common/CodeGen/GeneratorGrantleeBase.cpp- Namespace changesqt6-after/qt6-migrated-legatus/Lts/Common/CodeGen/DaoGeneratorGrantlee.cpp- Include path updateqt6-after/qt6-migrated-legatus/Lts/Common/CodeGen/DatabaseGeneratorGrantlee.cpp- Include path updateqt6-after/qt6-migrated-legatus/Lts/Common/CodeGen/CppTopicGeneratorGrantlee.cpp- Include path updateqt6-after/qt6-migrated-legatus/Lts/Common/CodeGen/main_grantlee_gui.h- Engine type changeqt6-after/qt6-migrated-legatus/Lts/Common/CodeGen/main_grantlee_gui.cpp- Engine instantiationqt6-after/qt6-migrated-legatus/Lts/Common/CodeGen/tests/GrantleeParserSmoke.cpp- Full namespace migrationqt6-after/qt6-migrated-legatus/CMakeLists.txt- Qt6 manual targets + library version fixes
Key Changes Summary
- Namespace:
Grantlee::→KTextTemplate:: - CMake Package:
Grantlee5::Templates→KF6::TextTemplate - Includes:
<grantlee/engine.h>→<ktexttemplate/engine.h> - Library:
libgrantlee_templates.so.5→libKF6TextTemplate.so.6 - Qt6 Compatibility: Fixed hardcoded library versions to use soname symlinks
Docker Build Command
docker run --rm -v $(pwd):/workspace -w /workspace/qt-migration-legatus/qt6-after/qt6-migrated-legatus ubuntu:26.04 bash -c "
apt-get update && apt-get install -y cmake build-essential qt6-base-dev libkf6texttemplate-dev git &&
rm -rf build && mkdir build && cd build &&
cmake .. -DBUILD_GRANTLEE=ON -DBUILD_TESTING=OFF &&
make -j$(nproc)
"
Conclusion
The Grantlee5 to KTextTemplate port is complete and verified. The CodeGen module now builds successfully on Ubuntu 26.04 with Qt6 and KTextTemplate, enabling reproducible Docker builds without legacy Qt5 dependencies.