summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2022-02-01 09:55:07 +0100
committerRémi Verschelde <rverschelde@gmail.com>2022-02-01 09:58:57 +0100
commit56549a019594d68121ac17781f7450aa82a06db2 (patch)
treee3df202d1dcdaee5eb5f7b2854423098bc2e7308
parent2aee84c755ccb5674b257d7b281bbfb7a3769f44 (diff)
CI: Fix exclude patterns with `git ls-files`
Follow-up to #55785. In `black_format.sh`, the `--exclude` switch was wrongly used. It's a misnomer that only excludes _untracked_ files, arcane pathspec patterns should instead be used to exclude _tracked_ files. Using this newfound knowledge, we can also simplify the other scripts.
-rwxr-xr-xmisc/scripts/black_format.sh2
-rwxr-xr-xmisc/scripts/clang_format.sh12
-rwxr-xr-xmisc/scripts/clang_tidy.sh12
3 files changed, 5 insertions, 21 deletions
diff --git a/misc/scripts/black_format.sh b/misc/scripts/black_format.sh
index 45d7f9dd2b..99343f1c5a 100755
--- a/misc/scripts/black_format.sh
+++ b/misc/scripts/black_format.sh
@@ -6,7 +6,7 @@ set -uo pipefail
# Apply black.
echo -e "Formatting Python files..."
-PY_FILES=$(git ls-files '*SConstruct' '*SCsub' '*.py' --exclude='.git/*' --exclude='thirdparty/*')
+PY_FILES=$(git ls-files -- '*SConstruct' '*SCsub' '*.py' ':!:.git/*' ':!:thirdparty/*')
black -l 120 $PY_FILES
diff=$(git diff --color)
diff --git a/misc/scripts/clang_format.sh b/misc/scripts/clang_format.sh
index 311944d3b4..13b5ab79b6 100755
--- a/misc/scripts/clang_format.sh
+++ b/misc/scripts/clang_format.sh
@@ -6,17 +6,9 @@
set -uo pipefail
# Loops through all code files tracked by Git.
-git ls-files '*.c' '*.h' '*.cpp' '*.hpp' '*.cc' '*.hh' '*.cxx' '*.m' '*.mm' '*.inc' '*.java' '*.glsl' |
+git ls-files -- '*.c' '*.h' '*.cpp' '*.hpp' '*.cc' '*.hh' '*.cxx' '*.m' '*.mm' '*.inc' '*.java' '*.glsl' \
+ ':!:.git/*' ':!:thirdparty/*' ':!:platform/android/java/lib/src/com/google/*' ':!:*-so_wrap.*' |
while read -r f; do
- # Exclude some files.
- if [[ "$f" == "thirdparty"* ]]; then
- continue
- elif [[ "$f" == "platform/android/java/lib/src/com/google"* ]]; then
- continue
- elif [[ "$f" == *"-so_wrap."* ]]; then
- continue
- fi
-
# Run clang-format.
clang-format --Wno-error=unknown -i "$f"
diff --git a/misc/scripts/clang_tidy.sh b/misc/scripts/clang_tidy.sh
index 85519c0e72..e49f6ac9f4 100755
--- a/misc/scripts/clang_tidy.sh
+++ b/misc/scripts/clang_tidy.sh
@@ -6,17 +6,9 @@
set -uo pipefail
# Loops through all code files tracked by Git.
-git ls-files '*.c' '*.h' '*.cpp' '*.hpp' '*.cc' '*.hh' '*.cxx' '*.m' '*.mm' '*.inc' '*.java' '*.glsl' |
+git ls-files -- '*.c' '*.h' '*.cpp' '*.hpp' '*.cc' '*.hh' '*.cxx' '*.m' '*.mm' '*.inc' '*.java' '*.glsl' \
+ ':!:.git/*' ':!:thirdparty/*' ':!:platform/android/java/lib/src/com/google/*' ':!:*-so_wrap.*' |
while read -r f; do
- # Exclude some files.
- if [[ "$f" == "thirdparty"* ]]; then
- continue
- elif [[ "$f" == "platform/android/java/lib/src/com/google"* ]]; then
- continue
- elif [[ "$f" == *"-so_wrap."* ]]; then
- continue
- fi
-
# Run clang-tidy.
clang-tidy --quiet --fix "$f" &> /dev/null