summaryrefslogtreecommitdiffstats
path: root/build/plugins/docs.py
diff options
context:
space:
mode:
authorarcadia-devtools <[email protected]>2022-03-17 21:50:26 +0300
committerarcadia-devtools <[email protected]>2022-03-17 21:50:26 +0300
commit9a43c1dda00d5f13e2e0b14d284a15ad344a5fe0 (patch)
treeb65ec23174d7ab364c394a6233d6bbeb313c3c45 /build/plugins/docs.py
parentf93356cec0664a517e7259bf347912fbb6b08e23 (diff)
intermediate changes
ref:8f152f8354b9748762b8ea0446ef73b2a76213d4
Diffstat (limited to 'build/plugins/docs.py')
-rw-r--r--build/plugins/docs.py33
1 files changed, 12 insertions, 21 deletions
diff --git a/build/plugins/docs.py b/build/plugins/docs.py
index 09cb8c040b3..c416eb4fc4e 100644
--- a/build/plugins/docs.py
+++ b/build/plugins/docs.py
@@ -23,30 +23,21 @@ def macro_calls_to_dict(unit, calls):
return dict(filter(None, map(split_args, calls)))
+def get_variables(unit):
+ orig_variables = macro_calls_to_dict(unit, extract_macro_calls(unit, '_DOCS_VARS_VALUE'))
+ return {k: unit.get(k) or v for k, v in orig_variables.items()}
+
+
def onprocess_docs(unit, *args):
- build_tool = unit.get('_DOCS_BUILDER_VALUE')
- if build_tool:
- if build_tool not in ['mkdocs', 'yfm']:
- unit.message(['error', 'Unsupported build tool {}'.format(build_tool)])
- if build_tool == 'mkdocs' and not unit.get('MODDIR').startswith('devtools/ymake/tests'):
- unit.message(['error', '`mkdocs` builder is prohibited to use in `DOCS` multimodule. Use `MKDOCS` multimodule instead of `DOCS`.'])
- else:
- build_tool = 'yfm'
- unit.ondocs_builder([build_tool])
- if build_tool == 'yfm' and unit.enabled('_DOCS_USE_PLANTUML'):
+ if unit.enabled('_DOCS_USE_PLANTUML'):
unit.on_docs_yfm_use_plantuml([])
- orig_variables = macro_calls_to_dict(unit, extract_macro_calls(unit, '_DOCS_VARS_VALUE'))
- variables = {k: unit.get(k) or v for k, v in orig_variables.items()}
+
+ variables = get_variables(unit)
if variables:
- if build_tool == 'mkdocs':
- unit.set(['_DOCS_VARS_FLAG', ' '.join(['--var {}={}'.format(k, v) for k, v in variables.items()])])
- elif build_tool == 'yfm':
- unit.set(['_DOCS_VARS_FLAG', '--vars {}'.format(json.dumps(json.dumps(variables, sort_keys=True)))])
- else:
- assert False, 'Unexpected build_tool value: [{}]'.format(build_tool)
+ unit.set(['_DOCS_VARS_FLAG', '--vars {}'.format(json.dumps(json.dumps(variables, sort_keys=True)))])
def onprocess_mkdocs(unit, *args):
- orig_variables = macro_calls_to_dict(unit, extract_macro_calls(unit, '_DOCS_VARS_VALUE'))
- variables = {k: unit.get(k) or v for k, v in orig_variables.items()}
- unit.set(['_DOCS_VARS_FLAG', ' '.join(['--var {}={}'.format(k, v) for k, v in variables.items()])])
+ variables = get_variables(unit)
+ if variables:
+ unit.set(['_DOCS_VARS_FLAG', ' '.join(['--var {}={}'.format(k, v) for k, v in variables.items()])])