Igt-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Mauro Carvalho Chehab <mauro.chehab@linux.intel.com>
To: igt-dev@lists.freedesktop.org
Subject: [igt-dev] [PATCH i-g-t v4 1/8] meson: build Xe test documentation
Date: Wed, 22 Mar 2023 09:28:19 +0100	[thread overview]
Message-ID: <20230322082826.1770429-2-mauro.chehab@linux.intel.com> (raw)
In-Reply-To: <20230322082826.1770429-1-mauro.chehab@linux.intel.com>

From: Mauro Carvalho Chehab <mchehab@kernel.org>

Add the remaining changes at meson for it to build Xe documentation.

Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
---
 docs/meson.build           |  1 +
 docs/testplan/conf.py      | 42 +++++++++++++++++++++++++++++++++++++
 docs/testplan/testplan.css |  7 +++++++
 meson_options.txt          |  8 +++++++
 scripts/gen_rst_index      | 43 ++++++++++++++++++++++++++++++++++++++
 scripts/meson.build        |  3 +++
 6 files changed, 104 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..cfb866cc7a15
--- /dev/null
+++ b/docs/testplan/conf.py
@@ -0,0 +1,42 @@
+# -*- coding: utf-8 -*-
+# SPDX-License-Identifier: (GPL-2.0 OR MIT)
+
+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 @@
+@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@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

  reply	other threads:[~2023-03-22  8:28 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-22  8:28 [igt-dev] [PATCH i-g-t v4 0/8] Build Xe test documentation Mauro Carvalho Chehab
2023-03-22  8:28 ` Mauro Carvalho Chehab [this message]
2023-03-24 13:31   ` [igt-dev] [PATCH i-g-t v4 1/8] meson: build " Kamil Konieczny
2023-03-28 17:56     ` Juha-Pekka Heikkila
2023-03-30  5:20       ` Mauro Carvalho Chehab
2023-03-30 11:13         ` Juha-Pekka Heikkila
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 2/8] testplan: build also a PDF file with the testplan Mauro Carvalho Chehab
2023-03-24 13:32   ` Kamil Konieczny
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 3/8] meson.build: place gtk-doc dependencies check at the right place Mauro Carvalho Chehab
2023-03-24 13:43   ` Kamil Konieczny
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 4/8] meson: get rid of a future-deprecated warning Mauro Carvalho Chehab
2023-03-22 19:11   ` Kamil Konieczny
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 5/8] meson: get rid of tests/xe/meson.build Mauro Carvalho Chehab
2023-03-24 13:44   ` Kamil Konieczny
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 6/8] testplan/meson.build: cleanup dependency chain Mauro Carvalho Chehab
2023-03-24 13:49   ` Kamil Konieczny
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 7/8] testplan/meson.build: use join_paths() Mauro Carvalho Chehab
2023-03-22 19:14   ` Kamil Konieczny
2023-03-22  8:28 ` [igt-dev] [PATCH i-g-t v4 8/8] testplan/meson.build: re-indent file Mauro Carvalho Chehab
2023-03-24 13:50   ` Kamil Konieczny
2023-03-22  9:24 ` [igt-dev] ✓ Fi.CI.BAT: success for Build Xe test documentation Patchwork
2023-03-22 13:59 ` [igt-dev] ✓ Fi.CI.IGT: " Patchwork
  -- strict thread matches above, loose matches on Subject: below --
2023-03-22  6:49 [igt-dev] [PATCH i-g-t v4 0/8] " Mauro Carvalho Chehab
2023-03-22  6:49 ` [igt-dev] [PATCH i-g-t v4 1/8] meson: build " Mauro Carvalho Chehab

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230322082826.1770429-2-mauro.chehab@linux.intel.com \
    --to=mauro.chehab@linux.intel.com \
    --cc=igt-dev@lists.freedesktop.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox