Details
-
Task
-
Resolution: Fixed
-
P2: Important
-
None
-
None
-
e7834e90f (dev), b6ab8c113 (6.9), 9ff4b5341 (dev), d3e03d1da (6.9), a64bfd176 (6.8), 34e80a276 (6.8)
Description
There is a new kind of fallout from the 'always build qttools/dev/HEAD for documentation purposes' change, when building docs in qtbase.
The problem is that qttools/dev/HEAD has an older qtbase sha1 as a dependency than latest qtbase, in which the dbus tool doesn't know about the new -namespace option introduced here https://codereview.qt-project.org/c/qt/qtbase/+/625450
A new change in qtbase is using that option https://codereview.qt-project.org/c/qt/qtbase/+/628787
That change fails to integration during documentation-warnings test phase:
https://testresults.qt.io/coin/integration/qt/qtbase/tasks/1741857358
agent:2025/03/13 09:35:32 build.go:404: FAILED: src/gui/cache_adaptor.h src/gui/cache_adaptor.cpp /home/qt/work/qt/qtbase/src/gui/cache_adaptor.h /home/qt/work/qt/qtbase/src/gui/cache_adaptor.cpp agent:2025/03/13 09:35:32 build.go:404: cd /home/qt/work/qt/qtbase/src/gui && /home/qt/work/qt/qtbase/doc_tools_build/install/bin/qdbusxml2cpp -i QtGui/private/qspi_struct_marshallers_p.h --namespace QtGuiPrivate -a cache_adaptor.h:cache_adaptor.cpp /home/qt/work/qt/qtbase/src/gui/accessible/linux/dbusxml/Cache.xml agent:2025/03/13 09:35:32 build.go:404: qdbusxml2cpp: Unknown option 'namespace'.
The dbus tool participates in the process of header generation, which are dependencies for running qdoc.
So we have the situation that an older dbus tool without the option is called with new option during documentation generation, and that fails.
I see 1 guaranteed way forward, and one avenue for investigation.
The guaranteed way forward is to wait until qttools dependency qtbase sha1 is updated to include the new option, and only then stage new qtbase change.
The avenue for investigation is whether the dbus generated headers are actually relevant for documentation generation, and remove them if not (if possible).
From what I understand all dbus generated headers are private, and should not be relevant for docs.
But the custom targets that drive docs generations for targets like Gui, depend on Gui's headers, which means they depend on all Gui's headers to be present via sync_all_public_headers.
We should check if we can somehow exclude the dbus headers from the docs dependency tree.
Attachments
Issue Links
- relates to
-
QTBUG-134940 qdbusxml2cpp: Unknown option 'namespace'.
-
- Closed
-
- resulted from
-
QTBUG-128730 Revisit how we build and use qdoc for documentation building
-
- Closed
-