summaryrefslogtreecommitdiffstats
path: root/Documentation/technical/api-index.sh
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2024-12-27 14:59:35 +0100
committerJunio C Hamano <gitster@pobox.com>2024-12-27 17:28:10 +0100
commit88e08b92e9a55fa453d44b26061a6a67a7eefafc (patch)
treed3f0cccca14d3be7579db5df5e9d6289b48b0c30 /Documentation/technical/api-index.sh
parentmeson: generate user manual (diff)
downloadgit-88e08b92e9a55fa453d44b26061a6a67a7eefafc.tar.xz
git-88e08b92e9a55fa453d44b26061a6a67a7eefafc.zip
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>
Diffstat (limited to '')
-rwxr-xr-xDocumentation/technical/api-index.sh19
1 files changed, 15 insertions, 4 deletions
diff --git a/Documentation/technical/api-index.sh b/Documentation/technical/api-index.sh
index 9c3f4131b8..2964885574 100755
--- a/Documentation/technical/api-index.sh
+++ b/Documentation/technical/api-index.sh
@@ -1,6 +1,17 @@
#!/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"
@@ -18,11 +29,11 @@
done
echo "$c"
sed -n -e '/^\/\/ table of contents end/,$p' "$skel"
-) >api-index.txt+
+) >"$OUTPUT"+
-if test -f api-index.txt && cmp api-index.txt api-index.txt+ >/dev/null
+if test -f "$OUTPUT" && cmp "$OUTPUT" "$OUTPUT"+ >/dev/null
then
- rm -f api-index.txt+
+ rm -f "$OUTPUT"+
else
- mv api-index.txt+ api-index.txt
+ mv "$OUTPUT"+ "$OUTPUT"
fi