diff options
Diffstat (limited to 'misc/scripts')
-rwxr-xr-x | misc/scripts/black_format.sh | 4 | ||||
-rwxr-xr-x | misc/scripts/check_ci_log.py | 2 | ||||
-rwxr-xr-x | misc/scripts/clang_format.sh | 12 | ||||
-rwxr-xr-x | misc/scripts/clang_tidy.sh | 4 | ||||
-rwxr-xr-x[-rw-r--r--] | misc/scripts/codespell.sh | 4 | ||||
-rwxr-xr-x | misc/scripts/file_format.sh | 5 | ||||
-rwxr-xr-x | misc/scripts/header_guards.sh | 61 | ||||
-rwxr-xr-x | misc/scripts/install_vulkan_sdk_macos.sh | 14 |
8 files changed, 93 insertions, 13 deletions
diff --git a/misc/scripts/black_format.sh b/misc/scripts/black_format.sh index 99343f1c5a..f6fac58e50 100755 --- a/misc/scripts/black_format.sh +++ b/misc/scripts/black_format.sh @@ -11,13 +11,13 @@ black -l 120 $PY_FILES diff=$(git diff --color) -# If no patch has been generated all is OK, clean up, and exit. +# If no diff has been generated all is OK, clean up, and exit. if [ -z "$diff" ] ; then printf "Files in this commit comply with the black style rules.\n" exit 0 fi -# A patch has been created, notify the user, clean up, and exit. +# A diff has been created, notify the user, clean up, and exit. printf "\n*** The following differences were found between the code " printf "and the formatting rules:\n\n" echo "$diff" diff --git a/misc/scripts/check_ci_log.py b/misc/scripts/check_ci_log.py index 2c75b83bd7..1e5a12eeb4 100755 --- a/misc/scripts/check_ci_log.py +++ b/misc/scripts/check_ci_log.py @@ -25,6 +25,8 @@ if ( file_contents.find("Program crashed with signal") != -1 or file_contents.find("Dumping the backtrace") != -1 or file_contents.find("Segmentation fault (core dumped)") != -1 + or file_contents.find("Aborted (core dumped)") != -1 + or file_contents.find("terminate called without an active exception") != -1 ): print("FATAL ERROR: Godot has been crashed.") sys.exit(52) diff --git a/misc/scripts/clang_format.sh b/misc/scripts/clang_format.sh index 13b5ab79b6..2b7179f5be 100755 --- a/misc/scripts/clang_format.sh +++ b/misc/scripts/clang_format.sh @@ -17,7 +17,11 @@ while read -r f; do continue elif [[ "$f" == *"glsl" ]]; then continue - elif [[ "$f" == "platform/android/java/lib/src/org/godotengine/godot/input/InputManager"* ]]; then + elif [[ "$f" == "platform/android/java/lib/src/org/godotengine/godot/gl/GLSurfaceView"* ]]; then + continue + elif [[ "$f" == "platform/android/java/lib/src/org/godotengine/godot/gl/EGLLogWrapper"* ]]; then + continue + elif [[ "$f" == "platform/android/java/lib/src/org/godotengine/godot/utils/ProcessPhoenix"* ]]; then continue fi @@ -26,13 +30,13 @@ done diff=$(git diff --color) -# If no patch has been generated all is OK, clean up, and exit. +# If no diff has been generated all is OK, clean up, and exit. if [ -z "$diff" ] ; then - printf "Files in this commit comply with the clang-tidy style rules.\n" + printf "Files in this commit comply with the clang-format style rules.\n" exit 0 fi -# A patch has been created, notify the user, clean up, and exit. +# A diff has been created, notify the user, clean up, and exit. printf "\n*** The following changes have been made to comply with the formatting rules:\n\n" echo "$diff" printf "\n*** Please fix your commit(s) with 'git commit --amend' or 'git rebase -i <hash>'\n" diff --git a/misc/scripts/clang_tidy.sh b/misc/scripts/clang_tidy.sh index e49f6ac9f4..63c1b10042 100755 --- a/misc/scripts/clang_tidy.sh +++ b/misc/scripts/clang_tidy.sh @@ -18,13 +18,13 @@ done diff=$(git diff --color) -# If no patch has been generated all is OK, clean up, and exit. +# If no diff has been generated all is OK, clean up, and exit. if [ -z "$diff" ] ; then printf "Files in this commit comply with the clang-tidy style rules.\n" exit 0 fi -# A patch has been created, notify the user, clean up, and exit. +# A diff has been created, notify the user, clean up, and exit. printf "\n*** The following changes have been made to comply with the formatting rules:\n\n" echo "$diff" printf "\n*** Please fix your commit(s) with 'git commit --amend' or 'git rebase -i <hash>'\n" diff --git a/misc/scripts/codespell.sh b/misc/scripts/codespell.sh index 2822c6421b..f99c5d22b2 100644..100755 --- a/misc/scripts/codespell.sh +++ b/misc/scripts/codespell.sh @@ -1,5 +1,5 @@ #!/bin/sh -SKIP_LIST="./thirdparty,*.gen.*,*.po,*.pot,package-lock.json,./core/string/locales.h,./DONORS.md,./misc/scripts/codespell.sh" -IGNORE_LIST="ba,childs,curvelinear,expct,fave,findn,gird,inout,lod,nd,numer,ois,ro,statics,te,varn" +SKIP_LIST="./thirdparty,*.gen.*,*.po,*.pot,package-lock.json,./core/string/locales.h,./DONORS.md,./misc/dist/linux/org.godotengine.Godot.desktop,./misc/scripts/codespell.sh" +IGNORE_LIST="ba,childs,complies,curvelinear,expct,fave,findn,gird,inout,lod,nd,numer,ois,ro,statics,te,varius,varn" codespell -w -q 3 -S "${SKIP_LIST}" -L "${IGNORE_LIST}" diff --git a/misc/scripts/file_format.sh b/misc/scripts/file_format.sh index 0c7235817d..c767d3f8a0 100755 --- a/misc/scripts/file_format.sh +++ b/misc/scripts/file_format.sh @@ -49,14 +49,13 @@ done diff=$(git diff --color) -# If no patch has been generated all is OK, clean up, and exit. +# If no diff has been generated all is OK, clean up, and exit. if [ -z "$diff" ] ; then printf "Files in this commit comply with the formatting rules.\n" - rm -f patch.patch exit 0 fi -# A patch has been created, notify the user, clean up, and exit. +# A diff has been created, notify the user, clean up, and exit. printf "\n*** The following differences were found between the code " printf "and the formatting rules:\n\n" echo "$diff" diff --git a/misc/scripts/header_guards.sh b/misc/scripts/header_guards.sh new file mode 100755 index 0000000000..9a830f3ad2 --- /dev/null +++ b/misc/scripts/header_guards.sh @@ -0,0 +1,61 @@ +#!/bin/bash + +if [ ! -f "version.py" ]; then + echo "Warning: This script is intended to be run from the root of the Godot repository." + echo "Some of the paths checks may not work as intended from a different folder." +fi + +for file in $(find -name "thirdparty" -prune -o -name "*.h" -print); 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. + if [[ "$file" == *"thread.h" || "$file" == *"platform_config.h" ]]; then continue; fi + + bname=$(basename $file .h) + + # Add custom prefix or suffix for generic filenames with a well-defined namespace. + + prefix= + 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 + 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 + + suffix= + if [[ "$file" == *"dummy"* && "$bname" != *"dummy"* ]]; then suffix="_DUMMY"; fi + if [[ "$file" == *"gles3"* && "$bname" != *"gles3"* ]]; then suffix="_GLES3"; fi + if [[ "$file" == *"renderer_rd"* && "$bname" != *"rd"* ]]; then suffix="_RD"; fi + if [[ "$file" == *"ustring.h" ]]; then suffix="_GODOT"; fi + + # ^^ is bash builtin for UPPERCASE. + guard="${prefix}${bname^^}${suffix}_H" + + # Replaces guards to use computed name. + # We also add some \n to make sure there's a proper separation. + sed -i $file -e "0,/ifndef/s/#ifndef.*/\n#ifndef $guard/" + sed -i $file -e "0,/define/s/#define.*/#define $guard\n/" + sed -i $file -e "$ s/#endif.*/\n#endif \/\/ $guard/" + # Removes redundant \n added before, if they weren't needed. + sed -i $file -e "/^$/N;/^\n$/D" +done + +diff=$(git diff --color) + +# If no diff has been generated all is OK, clean up, and exit. +if [ -z "$diff" ] ; then + printf "Files in this commit comply with the header guards formatting rules.\n" + exit 0 +fi + +# A diff has been created, notify the user, clean up, and exit. +printf "\n*** The following differences were found between the code " +printf "and the header guards formatting rules:\n\n" +echo "$diff" +printf "\n*** Aborting, please fix your commit(s) with 'git commit --amend' or 'git rebase -i <hash>'\n" +exit 1 diff --git a/misc/scripts/install_vulkan_sdk_macos.sh b/misc/scripts/install_vulkan_sdk_macos.sh new file mode 100755 index 0000000000..817302d77f --- /dev/null +++ b/misc/scripts/install_vulkan_sdk_macos.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -euo pipefail +IFS=$'\n\t' + +# Download and install the Vulkan SDK. +curl -L "https://sdk.lunarg.com/sdk/download/latest/mac/vulkan-sdk.dmg" -o /tmp/vulkan-sdk.dmg +hdiutil attach /tmp/vulkan-sdk.dmg -mountpoint /Volumes/vulkan-sdk +/Volumes/vulkan-sdk/InstallVulkan.app/Contents/MacOS/InstallVulkan \ + --accept-licenses --default-answer --confirm-command install +hdiutil detach /Volumes/vulkan-sdk +rm -f /tmp/vulkan-sdk.dmg + +echo 'Vulkan SDK installed successfully! You can now build Godot by running "scons".' |