summaryrefslogtreecommitdiffstats
path: root/src/tools/linkchecker/linkcheck.sh
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:50 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-05-18 02:49:50 +0000
commit9835e2ae736235810b4ea1c162ca5e65c547e770 (patch)
tree3fcebf40ed70e581d776a8a4c65923e8ec20e026 /src/tools/linkchecker/linkcheck.sh
parentReleasing progress-linux version 1.70.0+dfsg2-1~progress7.99u1. (diff)
downloadrustc-9835e2ae736235810b4ea1c162ca5e65c547e770.tar.xz
rustc-9835e2ae736235810b4ea1c162ca5e65c547e770.zip
Merging upstream version 1.71.1+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/tools/linkchecker/linkcheck.sh')
-rwxr-xr-xsrc/tools/linkchecker/linkcheck.sh26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/tools/linkchecker/linkcheck.sh b/src/tools/linkchecker/linkcheck.sh
index 9eeebf444..6c1e668a7 100755
--- a/src/tools/linkchecker/linkcheck.sh
+++ b/src/tools/linkchecker/linkcheck.sh
@@ -16,15 +16,13 @@
#
# --all Check all books. This can help make sure you don't break links
# from other books into your book.
+#
+# --path <book-path>
+# Path to the root directory for the book. Default to the current
+# working directory if omitted.
set -e
-if [ ! -f book.toml ] && [ ! -f src/SUMMARY.md ]
-then
- echo "Run command in root directory of the book."
- exit 1
-fi
-
html_dir="$(rustc +nightly --print sysroot)/share/doc/rust/html"
if [ ! -d "$html_dir" ]
@@ -38,6 +36,8 @@ fi
export MDBOOK_OUTPUT__HTML__INPUT_404=""
book_name=""
+# Default to the current directory
+book_path="."
# Iterative will avoid cleaning up, so you can quickly run it repeatedly.
iterative=0
# If "1", test all books, else only this book.
@@ -52,6 +52,10 @@ do
--all)
all_books=1
;;
+ --path)
+ book_path="${2:-.}"
+ shift
+ ;;
*)
if [ -n "$book_name" ]
then
@@ -70,6 +74,12 @@ then
exit 1
fi
+if [ ! -f "$book_path/book.toml" ] && [ ! -f "$book_path/src/SUMMARY.md" ]
+then
+ echo "Run command in root directory of the book or provide a path to the book"
+ exit 1
+fi
+
if [ ! -d "$html_dir/$book_name" ]
then
echo "book name \"$book_name\" not found in sysroot \"$html_dir\""
@@ -93,11 +103,11 @@ then
fi
echo "Building book \"$book_name\"..."
-mdbook build
+mdbook build "$book_path"
cp -R "$html_dir" linkcheck
rm -rf "linkcheck/$book_name"
-cp -R book "linkcheck/$book_name"
+cp -R "$book_path/book" "linkcheck/$book_name"
if [ "$all_books" = "1" ]
then