 2668dc7b5d
			
		
	
	
		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)
 |