]> git.ipfire.org Git - thirdparty/git.git/commitdiff
Documentation: refactor "api-index.sh" for out-of-tree builds
authorPatrick Steinhardt <ps@pks.im>
Fri, 27 Dec 2024 13:59:35 +0000 (14:59 +0100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 27 Dec 2024 16:28:10 +0000 (08:28 -0800)
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>
Documentation/Makefile
Documentation/technical/api-index.sh

index 4f152077dded75bedd59abd56db5f6f0693908de..b2d146c44f4ded750b5e0766eb66b25cb5ec08e3 100644 (file)
@@ -367,7 +367,7 @@ user-manual.xml: user-manual.txt $(ASCIIDOC_DEPS)
 
 technical/api-index.txt: technical/api-index-skel.txt \
        technical/api-index.sh $(patsubst %,%.txt,$(API_DOCS))
-       $(QUIET_GEN)cd technical && '$(SHELL_PATH_SQ)' ./api-index.sh
+       $(QUIET_GEN)'$(SHELL_PATH_SQ)' technical/api-index.sh ./technical ./technical/api-index.txt
 
 technical/%.html: ASCIIDOC_EXTRA += -a git-relative-html-prefix=../
 $(patsubst %,%.html,$(API_DOCS) technical/api-index $(TECH_DOCS)): %.html : %.txt \
index 9c3f4131b8586408acd81d1e60912b51688575ed..296488557434b7fff60ab25f4246a4dc270729c0 100755 (executable)
@@ -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"
        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