[igt-dev] [PATCH i-g-t v2 1/2] meson: build Xe test documentation
Kamil Konieczny
kamil.konieczny at linux.intel.com
Mon Mar 20 17:45:50 UTC 2023
Hi Mauro,
On 2023-03-20 at 09:44:59 +0100, Mauro Carvalho Chehab wrote:
> From: Mauro Carvalho Chehab <mchehab at kernel.org>
>
> Add the remaining changes at meson for it to build Xe documentation.
>
> Signed-off-by: Mauro Carvalho Chehab <mchehab at kernel.org>
> ---
> docs/meson.build | 1 +
> docs/testplan/conf.py | 41 ++++++++++++++++++++++++++++++++++++
> docs/testplan/testplan.css | 7 +++++++
> meson_options.txt | 8 +++++++
> scripts/gen_rst_index | 43 ++++++++++++++++++++++++++++++++++++++
> scripts/meson.build | 3 +++
> 6 files changed, 103 insertions(+)
> create mode 100644 docs/testplan/conf.py
> create mode 100644 docs/testplan/testplan.css
> create mode 100755 scripts/gen_rst_index
>
> diff --git a/docs/meson.build b/docs/meson.build
> index ead14c4015d9..01edf64f04a8 100644
> --- a/docs/meson.build
> +++ b/docs/meson.build
> @@ -1 +1,2 @@
> subdir('reference')
> +subdir('testplan')
> diff --git a/docs/testplan/conf.py b/docs/testplan/conf.py
> new file mode 100644
> index 000000000000..26243ff8bd88
> --- /dev/null
> +++ b/docs/testplan/conf.py
> @@ -0,0 +1,41 @@
> +# -*- coding: utf-8 -*-
> +
imho you should put here SPDX with MIT.
Regards,
Kamil
> +import sys
> +import os
> +from shutil import which
> +
> +extensions = []
> +
> +if which('rst2pdf'):
> + extensions.append('rst2pdf.pdfbuilder')
> +
> +source_suffix = '.rst'
> +master_doc = 'index'
> +
> +project = 'IGT Test Tools'
> +copyright = 'Intel'
> +author = 'IGT developers'
> +language = 'en'
> +
> +exclude_patterns = []
> +todo_include_todos = False
> +
> +html_theme = "nature"
> +
> +html_css_files = []
> +html_static_path = ['.']
> +html_copy_source = False
> +
> +html_use_smartypants = False
> +html_sidebars = { '**': ['searchbox.html', 'localtoc.html']}
> +htmlhelp_basename = 'IGT'
> +
> +html_theme_options = {
> + "body_max_width": "1520px",
> + "sidebarwidth": "400px",
> +}
> +
> +# rst2pdf
> +pdf_documents = [
> + ('index', u'xe_tests', u'IGT Xe Tests', u'IGT authors'),
> +]
> diff --git a/docs/testplan/testplan.css b/docs/testplan/testplan.css
> new file mode 100644
> index 000000000000..8aa7b7105c19
> --- /dev/null
> +++ b/docs/testplan/testplan.css
> @@ -0,0 +1,7 @@
> + at import url(html4css1.css);
> +
> +.literal {
> + background: lightgrey;
> + color: darkblue;
> + font-size: 14px;
> +}
> diff --git a/meson_options.txt b/meson_options.txt
> index d978813b4feb..d4e373d6cfc4 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -20,6 +20,14 @@ option('man',
> type : 'feature',
> description : 'Build man pages')
>
> +option('testplan',
> + type : 'feature',
> + description : 'Build testplan documentation pages in ReST and html')
> +
> +option('sphinx',
> + type : 'feature',
> + description : 'Build testplan documentation using Sphinx')
> +
> option('docs',
> type : 'feature',
> description : 'Build documentation')
> diff --git a/scripts/gen_rst_index b/scripts/gen_rst_index
> new file mode 100755
> index 000000000000..34955a35a443
> --- /dev/null
> +++ b/scripts/gen_rst_index
> @@ -0,0 +1,43 @@
> +#!/bin/bash -e
> +# SPDX-License-Identifier: (GPL-2.0 OR MIT)
> +
> +## Copyright (C) 2023 Intel Corporation ##
> +## Author: Mauro Carvalho Chehab <mchehab at kernel.org> ##
> +## ##
> +## Small script to produce a ReST index file ##
> +
> +if [ $# -lt 3 ]; then
> + echo 'Usage: $0: <title> <files> <dest_dir>' >&2
> + exit 1
> +fi
> +
> +title=$1
> +shift
> +
> +args=( "$@" )
> +
> +dest_dir=${args[${#args[@]}-1]}
> +unset args[${#args[@]}-1]
> +
> +if [ ! -d $dest_dir ]; then
> + echo "Error: $dest_dir directory doesn't exist" >&2
> + exit 1
> +fi
> +
> +dest_file="$dest_dir/index.rst"
> +
> +echo $title > "$dest_file"
> +len=${#title}
> +for i in $(seq 1 $len); do
> + echo -n "=" >> "$dest_file"
> +done
> +echo >> "$dest_file"
> +echo >> "$dest_file"
> +
> +echo ".. toctree::" >> "$dest_file"
> +echo " :maxdepth: 1" >> "$dest_file"
> +echo >> "$dest_file"
> +
> +for i in "${!args[@]}"; do
> + echo " ${args[$i]}" >> "$dest_file"
> +done
> diff --git a/scripts/meson.build b/scripts/meson.build
> index 342972e66078..ce12aa02e946 100644
> --- a/scripts/meson.build
> +++ b/scripts/meson.build
> @@ -11,3 +11,6 @@ if build_tests
> install_data(prog, install_dir : bindir, install_mode : 'r-xr-xr-x')
> endforeach
> endif
> +
> +igt_doc_script = find_program('igt_doc.py')
> +gen_rst_index = find_program('gen_rst_index')
> --
> 2.39.2
>
More information about the igt-dev
mailing list