Files
git/Documentation/technical/api-index.sh
Patrick Steinhardt 88e08b92e9 Documentation: refactor "api-index.sh" for out-of-tree builds
The "api-index.sh" script generates an index of API-related
documentation. The script does not handle out-of-tree builds and thus
cannot be used easily by Meson.

Refactor it to be independent of locations by both accepting a source
directory where the API docs live as well as a path to an output file.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2024-12-27 08:28:10 -08:00

40 lines
709 B
Bash
Executable File

#!/bin/sh
if test $# -ne 2
then
echo >&2 "USAGE: $0 <SOURCE_DIR> <OUTPUT>"
exit 1
fi
SOURCE_DIR="$1"
OUTPUT="$2"
(
cd "$SOURCE_DIR"
c=////////////////////////////////////////////////////////////////
skel=api-index-skel.txt
sed -e '/^\/\/ table of contents begin/q' "$skel"
echo "$c"
ls api-*.txt |
while read filename
do
case "$filename" in
api-index-skel.txt | api-index.txt) continue ;;
esac
title=$(sed -e 1q "$filename")
html=${filename%.txt}.html
echo "* link:$html[$title]"
done
echo "$c"
sed -n -e '/^\/\/ table of contents end/,$p' "$skel"
) >"$OUTPUT"+
if test -f "$OUTPUT" && cmp "$OUTPUT" "$OUTPUT"+ >/dev/null
then
rm -f "$OUTPUT"+
else
mv "$OUTPUT"+ "$OUTPUT"
fi