summaryrefslogtreecommitdiff
path: root/misc/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'misc/scripts')
-rwxr-xr-xmisc/scripts/black_format.sh4
-rwxr-xr-xmisc/scripts/check_ci_log.py2
-rwxr-xr-xmisc/scripts/clang_format.sh12
-rwxr-xr-xmisc/scripts/clang_tidy.sh4
-rwxr-xr-x[-rw-r--r--]misc/scripts/codespell.sh4
-rwxr-xr-xmisc/scripts/file_format.sh5
-rwxr-xr-xmisc/scripts/header_guards.sh61
-rwxr-xr-xmisc/scripts/install_vulkan_sdk_macos.sh14
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".'