forked from ecmwf/magics
-
Notifications
You must be signed in to change notification settings - Fork 0
/
do_formattting.sh
executable file
·35 lines (27 loc) · 1.04 KB
/
do_formattting.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash
# Script to check whether a repo has been properly formatted with clang-format.
# The find `-regex` arg on Linux and Darwin works differently. Normally
# the Darwin path would not need to be invoked unless testing the script locally.
unameOut="$(uname -s)"
base_dir="."
case "${unameOut}" in
Darwin*) files=$(find -E $base_dir -regex '.*\.(cpp|hpp|cc|cxx|h|c)');;
Linux*) files=$(find $base_dir -regex '.*\.\(cpp\|hpp\|cc\|cxx\|h\|c\)')
esac
for file in $files; do
if [[ $file =~ "/build/" ]]; then
echo "Skipping autoformat check for file: $file"
continue
fi
if [[ $file =~ "/attributes/" ]]; then
echo "Skipping autoformat check for file: $file"
continue
fi
if [[ $file =~ "drivers/minizip" ]]; then
# Skip minizip because clang-format breaks this code to the point where it doesn't
# compile.
echo "Skipping autoformat check for file: $file"
continue
fi
clang-format --verbose -i --sort-includes --style=file --fallback-style=none "$file"
done