Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-134672

Investigate removal of Qt dbus generated private headers as being dependencies for documentation generation

    XMLWordPrintable

Details

    • 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

      https://testresults.qt.io/coin/log/qt/qtbase/6ec8f1a5955952754dadf5a6761da5acec4605de/LinuxUbuntu_22_04x86_64LinuxUbuntu_22_04x86_64GCCqtci-linux-Ubuntu-22.04-x86_64-51-fa84ebDoNotRunTestsButCreateTestWorkItem_DocsGenerationV2_Sccache_TestDocs_TestOnly/67f8e288ecac927169f963750b91bd6b191cfce3/test_1741857417

      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

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              alexandru.croitor Alexandru Croitor
              alexandru.croitor Alexandru Croitor
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: