From 4b9bb50176aa3dee7e93907ba539234d5efc88a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Verschelde?= Date: Sat, 25 Jul 2020 21:38:34 +0200 Subject: [PATCH] Style: Fix code format scripts compat with non-GNU Unices It's too hard to get compatibility between GNU and BSD sed, so let's just use perl oneliners. And improve it to also remove trailing tabs, not just spaces. (cherry picked from commit c71e189efd63b3875904d8fe2b8a030e68919aad) --- misc/scripts/black_format.sh | 4 +--- misc/scripts/clang_format.sh | 4 +--- misc/scripts/file_format.sh | 21 +++++++++++---------- platform/windows/godot.natvis | 6 +++--- 4 files changed, 16 insertions(+), 19 deletions(-) diff --git a/misc/scripts/black_format.sh b/misc/scripts/black_format.sh index 04dfe32f606..f93e8cbc2a7 100755 --- a/misc/scripts/black_format.sh +++ b/misc/scripts/black_format.sh @@ -16,11 +16,9 @@ PY_FILES=$(find \( -path "./.git" \ black -l 120 $PY_FILES git diff > patch.patch -FILESIZE="$(stat -c%s patch.patch)" -MAXSIZE=5 # If no patch has been generated all is OK, clean up, and exit. -if (( FILESIZE < MAXSIZE )); then +if [ ! -s patch.patch ] ; then printf "Files in this commit comply with the black style rules.\n" rm -f patch.patch exit 0 diff --git a/misc/scripts/clang_format.sh b/misc/scripts/clang_format.sh index 5131f7fe333..e686305dead 100755 --- a/misc/scripts/clang_format.sh +++ b/misc/scripts/clang_format.sh @@ -39,11 +39,9 @@ while IFS= read -rd '' f; do done git diff > patch.patch -FILESIZE="$(stat -c%s patch.patch)" -MAXSIZE=5 # If no patch has been generated all is OK, clean up, and exit. -if (( FILESIZE < MAXSIZE )); then +if [ ! -s patch.patch ] ; then printf "Files in this commit comply with the clang-format style rules.\n" rm -f patch.patch exit 0 diff --git a/misc/scripts/file_format.sh b/misc/scripts/file_format.sh index 30988e51c67..773999cf0c1 100755 --- a/misc/scripts/file_format.sh +++ b/misc/scripts/file_format.sh @@ -1,7 +1,13 @@ #!/usr/bin/env bash # This script ensures proper POSIX text file formatting and a few other things. -# This is supplementary to clang-black-format.sh, but should be run before it. +# This is supplementary to clang_format.sh and black_format.sh, but should be +# run before them. + +# We need dos2unix and recode. +if [ ! -x "$(command -v dos2unix)" -o ! -x "$(command -v recode)" ]; then + printf "Install 'dos2unix' and 'recode' to use this script.\n" +fi set -uo pipefail IFS=$'\n\t' @@ -29,22 +35,17 @@ while IFS= read -rd '' f; do recode UTF-8 "$f" 2> /dev/null # Ensures that files have LF line endings. dos2unix "$f" 2> /dev/null - # Ensures that files do not contain a BOM. - sed -i '1s/^\xEF\xBB\xBF//' "$f" - # Ensures that files end with newline characters. - tail -c1 < "$f" | read -r _ || echo >> "$f"; # Remove trailing space characters. - sed -z -i 's/\x20\x0A/\x0A/g' "$f" + # -l option handles newlines conveniently and seems to also get rid of BOMs. + perl -i -ple 's/\s*$//g' "$f" # Remove the character sequence "== true" if it has a leading space. - sed -z -i 's/\x20== true//g' "$f" + perl -i -pe 's/\x20== true//g' "$f" done git diff > patch.patch -FILESIZE="$(stat -c%s patch.patch)" -MAXSIZE=5 # If no patch has been generated all is OK, clean up, and exit. -if (( FILESIZE < MAXSIZE )); then +if [ ! -s patch.patch ] ; then printf "Files in this commit comply with the formatting rules.\n" rm -f patch.patch exit 0 diff --git a/platform/windows/godot.natvis b/platform/windows/godot.natvis index 593557cc692..90f0b55d0a4 100644 --- a/platform/windows/godot.natvis +++ b/platform/windows/godot.natvis @@ -19,7 +19,7 @@ - + _data ? (_data->size_cache) : 0 @@ -62,7 +62,7 @@ {*(PoolColorArray *)_data._mem} ((String *)(_data._mem))->_cowdata._ptr,su - + _data._bool _data._int @@ -143,7 +143,7 @@ a - + (Object*)this