"David G. Johnston" <david.g.johnston@gmail.com> writes:
> $subject
>
> Make has one:
> https://www.postgresql.org/docs/current/docguide-build.html#DOCGUIDE-BUILD-SYNTAX-CHECK
>
> This needs updating:
> https://www.postgresql.org/docs/current/docguide-build-meson.html
>
> I've been using "ninja html" which isn't shown here.
The /devel/ version has a link to the full list of doc targets:
https://www.postgresql.org/docs/devel/install-meson.html#TARGETS-MESON-DOCUMENTATION
Attached is a patch which adds a check-docs target for meson, which
takes 0.3s on my laptop.
- ilmari
From d54104493b9d97b95a890e47b395723d9b152447 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dagfinn=20Ilmari=20Manns=C3=A5ker?= <ilmari@ilmari.org>
Date: Thu, 9 May 2024 19:59:46 +0100
Subject: [PATCH] Add a check-docs target for meson
This allows checking the syntax of the docs much faster than
rebuilding them all, similar to `make -C doc/src/sgml check`.
---
doc/src/sgml/meson.build | 10 ++++++++++
doc/src/sgml/targets-meson.txt | 1 +
2 files changed, 11 insertions(+)
diff --git a/doc/src/sgml/meson.build b/doc/src/sgml/meson.build
index e418de83a7..51eed7b31d 100644
--- a/doc/src/sgml/meson.build
+++ b/doc/src/sgml/meson.build
@@ -112,6 +112,16 @@ postgres_full_xml = custom_target('postgres-full.xml',
docs += postgres_full_xml
alldocs += postgres_full_xml
+checkdocs = custom_target('check-docs',
+ input: 'postgres.sgml',
+ output: 'check-docs',
+ depfile: 'postgres-full.xml.d',
+ command: [xmllint, '--nonet', '--valid', '--noout',
+ '--path', '@OUTDIR@', '@INPUT@'],
+ depends: doc_generated,
+ build_by_default: false,
+)
+alias_target('check-docs', checkdocs)
if xsltproc_bin.found()
xsltproc_flags = [
diff --git a/doc/src/sgml/targets-meson.txt b/doc/src/sgml/targets-meson.txt
index bd470c87a7..ba426707be 100644
--- a/doc/src/sgml/targets-meson.txt
+++ b/doc/src/sgml/targets-meson.txt
@@ -26,6 +26,7 @@ Documentation Targets:
doc/src/sgml/postgres-US.pdf Build documentation in PDF format, with US letter pages
doc/src/sgml/postgres.html Build documentation in single-page HTML format
alldocs Build documentation in all supported formats
+ check-docs Check the syntax of the documentation
Installation Targets:
install Install postgres, excluding documentation
--
2.39.2