From 4ec450d64a6f2552c6578ac9ca6c490b4c5c4184 Mon Sep 17 00:00:00 2001 From: Victor Feyens Date: Wed, 28 Apr 2021 13:47:01 +0200 Subject: [PATCH] [IMP][PERF] Parallelize documentation build --- Makefile | 3 ++- extensions/autodoc_placeholder/__init__.py | 5 +++++ extensions/embedded_video/__init__.py | 9 +++++++-- extensions/exercise_admonition/__init__.py | 4 ++++ extensions/github_link/__init__.py | 4 ++++ extensions/html_domain/__init__.py | 4 ++++ extensions/odoo_theme/__init__.py | 4 ++++ extensions/redirects/__init__.py | 5 +++++ extensions/switcher/__init__.py | 5 +++++ 9 files changed, 40 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 32adf3d0e..6d898ef16 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,8 @@ CONFIG_DIR = . SPHINXOPTS = -D project_root=$(ROOT) -D canonical_version=$(CANONICAL_VERSION) \ -D versions=$(VERSIONS) -D languages=$(LANGUAGES) -D language=$(CURRENT_LANG) \ -D is_remote_build=$(IS_REMOTE_BUILD) \ - -A google_analytics_key=$(GOOGLE_ANALYTICS_KEY) + -A google_analytics_key=$(GOOGLE_ANALYTICS_KEY) \ + -j auto SOURCE_DIR = content BUILD_DIR = _build diff --git a/extensions/autodoc_placeholder/__init__.py b/extensions/autodoc_placeholder/__init__.py index 6508960c4..470f53830 100644 --- a/extensions/autodoc_placeholder/__init__.py +++ b/extensions/autodoc_placeholder/__init__.py @@ -19,3 +19,8 @@ def setup(app): directives.register_directive('autodata', PlaceHolder) directives.register_directive('automethod', PlaceHolder) directives.register_directive('autoattribute', PlaceHolder) + + return { + 'parallel_read_safe': True, + 'parallel_write_safe': True + } diff --git a/extensions/embedded_video/__init__.py b/extensions/embedded_video/__init__.py index 186f1908a..f200deeed 100644 --- a/extensions/embedded_video/__init__.py +++ b/extensions/embedded_video/__init__.py @@ -61,6 +61,11 @@ class Vimeo(IframeVideo): class="align-%(align)s">' -def setup(builder): +def setup(app): directives.register_directive('youtube', Youtube) - directives.register_directive('vimeo', Vimeo) \ No newline at end of file + directives.register_directive('vimeo', Vimeo) + + return { + 'parallel_read_safe': True, + 'parallel_write_safe': True + } diff --git a/extensions/exercise_admonition/__init__.py b/extensions/exercise_admonition/__init__.py index e651c8f30..e16afd94e 100644 --- a/extensions/exercise_admonition/__init__.py +++ b/extensions/exercise_admonition/__init__.py @@ -20,5 +20,9 @@ def setup(app): lambda self, node: self.depart_admonition(node), )) + return { + 'parallel_read_safe': True, + 'parallel_write_safe': True + } admonitionlabels['exercise'] = 'Exercise' diff --git a/extensions/github_link/__init__.py b/extensions/github_link/__init__.py index 487fbd24a..5d1752c5e 100644 --- a/extensions/github_link/__init__.py +++ b/extensions/github_link/__init__.py @@ -74,6 +74,10 @@ def setup(app): odoo_repository=True) app.config.linkcode_resolve = linkcode_resolve + return { + 'parallel_read_safe': True, + 'parallel_write_safe': True + } def make_github_link(app, path, line=None, mode="blob", odoo_repository=False): config = app.config diff --git a/extensions/html_domain/__init__.py b/extensions/html_domain/__init__.py index 53cddc15c..70a38ee79 100644 --- a/extensions/html_domain/__init__.py +++ b/extensions/html_domain/__init__.py @@ -39,6 +39,10 @@ def setup(app): ('kbd', kbd), ('var', var), ('samp', samp)]: addnode(app, node, name) + return { + 'parallel_read_safe': True, + 'parallel_write_safe': True + } class div(nodes.General, nodes.Element): pass diff --git a/extensions/odoo_theme/__init__.py b/extensions/odoo_theme/__init__.py index 20a5926d2..4e61aaefb 100644 --- a/extensions/odoo_theme/__init__.py +++ b/extensions/odoo_theme/__init__.py @@ -15,6 +15,10 @@ def setup(app): app.add_js_file('js/menu.js') app.add_js_file('js/page_toc.js') + return { + 'parallel_read_safe': True, + 'parallel_write_safe': True + } def set_missing_meta(app, pagename, templatename, context, doctree): if context.get('meta') is None: # Pages without title (used with `include::`) have no meta diff --git a/extensions/redirects/__init__.py b/extensions/redirects/__init__.py index a4c670341..054baf733 100644 --- a/extensions/redirects/__init__.py +++ b/extensions/redirects/__init__.py @@ -62,3 +62,8 @@ def generate_redirects(app): def setup(app): app.add_config_value('redirects_file', 'redirects', 'env') app.connect('builder-inited', generate_redirects) + + return { + 'parallel_read_safe': True, + 'parallel_write_safe': True + } diff --git a/extensions/switcher/__init__.py b/extensions/switcher/__init__.py index f21be0829..7ae9b3376 100644 --- a/extensions/switcher/__init__.py +++ b/extensions/switcher/__init__.py @@ -12,6 +12,11 @@ def setup(app): app.connect('env-updated', add_statics) + return { + 'parallel_read_safe': True, + 'parallel_write_safe': True + } + def add_statics(app, env): app.add_js_file('js/switcher.js') env.config.html_static_path.append(statics())