docs/sphinx: add loaded modules to generated depfile

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Marc-André Lureau 2021-10-08 22:31:06 +04:00
parent 63ed851de4
commit cd0a9e983c

View File

@ -12,6 +12,7 @@
import os
import sphinx
import sys
__version__ = '1.0'
@ -20,8 +21,17 @@ def get_infiles(env):
yield env.doc2path(x)
yield from ((os.path.join(env.srcdir, dep)
for dep in env.dependencies[x]))
for mod in sys.modules.values():
if hasattr(mod, '__file__'):
if mod.__file__:
yield mod.__file__
def write_depfile(app, env):
def write_depfile(app, exception):
if exception:
return
env = app.env
if not env.config.depfile:
return
@ -42,7 +52,7 @@ def write_depfile(app, env):
def setup(app):
app.add_config_value('depfile', None, 'env')
app.add_config_value('depfile_stamp', None, 'env')
app.connect('env-updated', write_depfile)
app.connect('build-finished', write_depfile)
return dict(
version = __version__,