2668dc7b5d
Add a new dbus-doc directive to import D-Bus interfaces documentation from the introspection XML. The comments annotations follow the gtkdoc/kerneldoc style, and should be formatted with reST. Note: I realize after the fact that I was implementing those modules with sphinx 4, and that we have much lower requirements. Instead of lowering the features and code (removing type annotations etc), let's have a warning in the documentation when the D-Bus modules can't be used, and point to the source XML file in that case. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com>
26 lines
704 B
Python
26 lines
704 B
Python
# D-Bus XML documentation extension, compatibility gunk for <sphinx4
|
|
#
|
|
# Copyright (C) 2021, Red Hat Inc.
|
|
#
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
#
|
|
# Author: Marc-André Lureau <marcandre.lureau@redhat.com>
|
|
"""dbus-doc is a Sphinx extension that provides documentation from D-Bus XML."""
|
|
|
|
from sphinx.application import Sphinx
|
|
from sphinx.util.docutils import SphinxDirective
|
|
from typing import Any, Dict
|
|
|
|
|
|
class FakeDBusDocDirective(SphinxDirective):
|
|
has_content = True
|
|
required_arguments = 1
|
|
|
|
def run(self):
|
|
return []
|
|
|
|
|
|
def setup(app: Sphinx) -> Dict[str, Any]:
|
|
"""Register a fake dbus-doc directive with Sphinx"""
|
|
app.add_directive("dbus-doc", FakeDBusDocDirective)
|