| 1 | #!/usr/bin/env bash |
| 2 | # |
| 3 | # Perform sanity checks on documentation and build it. |
| 4 | # |
| 5 | |
| 6 | . ${0%/*}/lib.sh |
| 7 | |
| 8 | filter_log () { |
| 9 | sed -e '/^GIT_VERSION=/d' \ |
| 10 | -e "/constant Gem::ConfigMap is deprecated/d" \ |
| 11 | -e '/^ \* new asciidoc flags$/d' \ |
| 12 | -e '/stripped namespace before processing/d' \ |
| 13 | -e '/Attributed.*IDs for element/d' \ |
| 14 | -e '/SyntaxWarning: invalid escape sequence/d' \ |
| 15 | "$1" |
| 16 | } |
| 17 | |
| 18 | check_docs () { |
| 19 | test -s "$1"/Documentation/git.html && |
| 20 | test -s "$1"/Documentation/git.xml && |
| 21 | test -s "$1"/Documentation/git.1 && |
| 22 | grep "<meta name=\"generator\" content=\"$2 " "$1"/Documentation/git.html |
| 23 | } |
| 24 | |
| 25 | make check-builtins |
| 26 | make check-docs |
| 27 | |
| 28 | # Build docs with AsciiDoc |
| 29 | make doc > >(tee stdout.log) 2> >(tee stderr.raw >&2) |
| 30 | cat stderr.raw |
| 31 | filter_log stderr.raw >stderr.log |
| 32 | test ! -s stderr.log |
| 33 | check_docs . AsciiDoc |
| 34 | |
| 35 | rm -f stdout.log stderr.log stderr.raw |
| 36 | check_unignored_build_artifacts |
| 37 | |
| 38 | # Build docs with AsciiDoctor |
| 39 | make clean |
| 40 | make USE_ASCIIDOCTOR=1 doc > >(tee stdout.log) 2> >(tee stderr.raw >&2) |
| 41 | cat stderr.raw |
| 42 | filter_log stderr.raw >stderr.log |
| 43 | test ! -s stderr.log |
| 44 | check_docs . Asciidoctor |
| 45 | |
| 46 | rm -f stdout.log stderr.log stderr.raw |
| 47 | check_unignored_build_artifacts |
| 48 | |
| 49 | # Build docs with Meson and AsciiDoc |
| 50 | meson setup build-asciidoc -Ddocs=html,man -Ddocs_backend=asciidoc |
| 51 | meson compile -C build-asciidoc docs |
| 52 | check_docs build-asciidoc AsciiDoc |
| 53 | rm -rf build-asciidoc |
| 54 | |
| 55 | # Build docs with Meson and AsciiDoctor |
| 56 | meson setup build-asciidoctor -Ddocs=html,man -Ddocs_backend=asciidoctor |
| 57 | meson compile -C build-asciidoctor docs |
| 58 | check_docs build-asciidoctor Asciidoctor |
| 59 | rm -rf build-asciidoctor |
| 60 | |
| 61 | save_good_tree |