From f907fcbb2fc2be0e460a5d17dc6252dcfad76161 Mon Sep 17 00:00:00 2001 From: Sebastiaan Speck Date: Sun, 17 Dec 2023 15:18:19 +0100 Subject: [PATCH] build-pdf: only build changed folders since last commit --- scripts/pdf/build-pdf.sh | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) mode change 100644 => 100755 scripts/pdf/build-pdf.sh diff --git a/scripts/pdf/build-pdf.sh b/scripts/pdf/build-pdf.sh old mode 100644 new mode 100755 index 09df4d21a..f4702f515 --- a/scripts/pdf/build-pdf.sh +++ b/scripts/pdf/build-pdf.sh @@ -21,13 +21,27 @@ function process_page { } function main { - for pageDir in ../../pages*; do - process_page "${pageDir}" - done + type="$1" + case $type in + "all") + for pageDir in ../../pages*; do + process_page "${pageDir}" + done + ;; + *) + changedFiles=$(git diff-tree --no-commit-id --name-only -r "$(git rev-parse HEAD)") + changedPageDirs=$(echo "$changedFiles" | awk -F/ '/^(pages[^\/]+|pages)\//{print $1}' | sort -u) + mapfile -t pageDirs <<< "$changedPageDirs" + + for pageDir in "${pageDirs[@]}"; do + process_page "../../${pageDir}" + done + ;; + esac } ################################### # MAIN ################################### -main +main $1