From 47b42173659f28bae54c3ce5ba3111bb47ac06d3 Mon Sep 17 00:00:00 2001 From: Pavel Hrdina Date: Thu, 18 Jun 2020 02:25:19 +0200 Subject: [PATCH] meson: docs: build *.html files from *.rst files Signed-off-by: Pavel Hrdina Reviewed-by: Peter Krempa Reviewed-by: Neal Gompa --- docs/Makefile.am | 3 --- docs/meson.build | 64 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 3 deletions(-) diff --git a/docs/Makefile.am b/docs/Makefile.am index 4e69f9ae7f..f1ac68f1d5 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -281,10 +281,7 @@ manpages_DATA = $(manpages_html) dot_html_generated_in = \ hvsupport.html.in \ $(NULL) -dot_rst = \ - $(notdir $(wildcard $(srcdir)/*.rst)) dot_rst_html_in = \ - $(dot_rst:%.rst=%.html.in) \ news.html.in \ $(NULL) dot_html = \ diff --git a/docs/meson.build b/docs/meson.build index 9b7733a90c..ee2b1d0637 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -105,6 +105,27 @@ docs_html_in_files = [ 'windows', ] +docs_rst_files = [ + 'advanced-tests', + 'best-practices', + 'ci', + 'coding-style', + 'committer-guidelines', + 'daemons', + 'developer-tooling', + 'formatbackup', + 'formatcheckpoint', + 'hacking', + 'libvirt-go', + 'libvirt-go-xml', + 'newreposetup', + 'pci-addresses', + 'platforms', + 'programming-languages', + 'styleguide', + 'submitting-patches', +] + install_data(docs_assets, install_dir: docs_html_dir) aclperms_gen = custom_target( @@ -191,3 +212,46 @@ foreach name : docs_html_in_files install_dir: docs_html_dir, ) endforeach + + +# docs_html_in_gen: +# each entry is a dictionary with following items: +# name - base file name (required) +# file - generated file (required) +docs_html_in_gen = [] + +foreach name : docs_rst_files + rst_file = '@0@.rst'.format(name) + docs_html_in_gen += { + 'name': name, + 'file': docs_rst2html_gen.process(rst_file), + } +endforeach + +foreach data : docs_html_in_gen + html_file = '@0@.html'.format(data['name']) + rst_in_file = '@0@.rst'.format(data['name']) + + custom_target( + html_file, + input: data['file'], + output: html_file, + command: [ + meson_python_prog, + python3_prog.path(), + meson_html_gen_prog.path(), + xsltproc_prog.path(), + xmllint_prog.path(), + meson.build_root(), + docs_timestamp, + site_xsl, + '@INPUT@', + '@OUTPUT@', + rst_in_file, + ], + depends: [ aclperms_gen ], + depend_files: [ page_xsl ], + install: true, + install_dir: docs_html_dir, + ) +endforeach