summaryrefslogtreecommitdiff
path: root/misc/scripts/header_guards.sh
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2023-04-26 17:57:45 +0200
committerGitHub <noreply@github.com>2023-04-26 17:57:45 +0200
commitba004ea1c3b00c5516548edde7bdfe2d72d51ea1 (patch)
tree534f23706b47017760b8d5e9395b00ef3ebd385a /misc/scripts/header_guards.sh
parentd78691d44fe6e4f38dce3a89164cdae688772031 (diff)
parente7f4af091331ef10dd2088d82bc552a097d3d4ce (diff)
Merge pull request #76476 from YuriSizov/4.0-cherrypicks
Cherry-picks for the 4.0 branch (future 4.0.3) - 3rd batch
Diffstat (limited to 'misc/scripts/header_guards.sh')
-rwxr-xr-xmisc/scripts/header_guards.sh18
1 files changed, 13 insertions, 5 deletions
diff --git a/misc/scripts/header_guards.sh b/misc/scripts/header_guards.sh
index a063ff4b9c..1f8aa6151c 100755
--- a/misc/scripts/header_guards.sh
+++ b/misc/scripts/header_guards.sh
@@ -5,9 +5,17 @@ if [ ! -f "version.py" ]; then
echo "Some of the paths checks may not work as intended from a different folder."
fi
+if [ $# -eq 0 ]; then
+ # Loop through all code files tracked by Git.
+ files=$(find -name "thirdparty" -prune -o -name "*.h" -print | sed "s@^\./@@g")
+else
+ # $1 should be a file listing file paths to process. Used in CI.
+ files=$(cat "$1" | grep -v "thirdparty/" | grep -E "\.h$" | sed "s@^\./@@g")
+fi
+
files_invalid_guard=""
-for file in $(find -name "thirdparty" -prune -o -name "*.h" -print); do
+for file in $files; do
# Skip *.gen.h and *-so_wrap.h, they're generated.
if [[ "$file" == *".gen.h" || "$file" == *"-so_wrap.h" ]]; then continue; fi
# Has important define before normal header guards.
@@ -20,16 +28,16 @@ for file in $(find -name "thirdparty" -prune -o -name "*.h" -print); do
# Add custom prefix or suffix for generic filenames with a well-defined namespace.
prefix=
- if [[ "$file" == "./modules/"*"/register_types.h" ]]; then
+ if [[ "$file" == "modules/"*"/register_types.h" ]]; then
module=$(echo $file | sed "s@.*modules/\([^/]*\).*@\1@")
prefix="${module^^}_"
fi
- if [[ "$file" == "./platform/"*"/api/api.h" || "$file" == "./platform/"*"/export/"* ]]; then
+ if [[ "$file" == "platform/"*"/api/api.h" || "$file" == "platform/"*"/export/"* ]]; then
platform=$(echo $file | sed "s@.*platform/\([^/]*\).*@\1@")
prefix="${platform^^}_"
fi
- if [[ "$file" == "./modules/mono/utils/"* && "$bname" != *"mono"* ]]; then prefix="MONO_"; fi
- if [[ "$file" == "./servers/rendering/storage/utilities.h" ]]; then prefix="RENDERER_"; fi
+ if [[ "$file" == "modules/mono/utils/"* && "$bname" != *"mono"* ]]; then prefix="MONO_"; fi
+ if [[ "$file" == "servers/rendering/storage/utilities.h" ]]; then prefix="RENDERER_"; fi
suffix=
if [[ "$file" == *"dummy"* && "$bname" != *"dummy"* ]]; then suffix="_DUMMY"; fi