Merge topic 'sphinx-domain-parallel'
ac89f9ec86
Merge branch 'backport-3.26-sphinx-domain-parallel'f546ebfecc
Utilities/Sphinx: Fix parallel documentation builds4e11859e0e
Utilities/Sphinx: Fix parallel documentation builds for 3.26 Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: technocolordreamcoder <j_grant5@u.pacific.edu> Merge-request: !8575
This commit is contained in:
commit
080e269f62
@ -668,7 +668,7 @@ class CMakeDomain(Domain):
|
|||||||
'manual': CMakeXRefRole(),
|
'manual': CMakeXRefRole(),
|
||||||
}
|
}
|
||||||
initial_data = {
|
initial_data = {
|
||||||
'objects': {}, # fullname -> docname, objtype
|
'objects': {}, # fullname -> ObjectEntry
|
||||||
}
|
}
|
||||||
|
|
||||||
def clear_doc(self, docname):
|
def clear_doc(self, docname):
|
||||||
@ -679,6 +679,20 @@ class CMakeDomain(Domain):
|
|||||||
for fullname in to_clear:
|
for fullname in to_clear:
|
||||||
del self.data['objects'][fullname]
|
del self.data['objects'][fullname]
|
||||||
|
|
||||||
|
def merge_domaindata(self, docnames, otherdata):
|
||||||
|
"""Merge domaindata from the workers/chunks when they return.
|
||||||
|
|
||||||
|
Called once per parallelization chunk.
|
||||||
|
Only used when sphinx is run in parallel mode.
|
||||||
|
|
||||||
|
:param docnames: a Set of the docnames that are part of the current
|
||||||
|
chunk to merge
|
||||||
|
:param otherdata: the partial data calculated by the current chunk
|
||||||
|
"""
|
||||||
|
for refname, obj in otherdata['objects'].items():
|
||||||
|
if obj.docname in docnames:
|
||||||
|
self.data['objects'][refname] = obj
|
||||||
|
|
||||||
def resolve_xref(self, env, fromdocname, builder,
|
def resolve_xref(self, env, fromdocname, builder,
|
||||||
typ, target, node, contnode):
|
typ, target, node, contnode):
|
||||||
targetid = f'{typ}:{target}'
|
targetid = f'{typ}:{target}'
|
||||||
|
Loading…
Reference in New Issue
Block a user