diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 95b5c1ed52d..15119dc3853 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -10,6 +10,13 @@ exclude: | )$ repos: + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v6.0.0 + hooks: + - id: check-executables-have-shebangs + - id: check-shebang-scripts-are-executable + exclude: (SConstruct|SCsub)$ # SCons files use shebangs for syntax highlighting only. + - repo: https://github.com/pre-commit/mirrors-clang-format rev: v21.1.7 hooks: diff --git a/doc/tools/doc_status.py b/doc/tools/doc_status.py index 99de6e9dd4e..8411db1469d 100755 --- a/doc/tools/doc_status.py +++ b/doc/tools/doc_status.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + from __future__ import annotations import fnmatch diff --git a/doc/tools/make_rst.py b/doc/tools/make_rst.py old mode 100644 new mode 100755 diff --git a/misc/dist/apple_embedded_xcode/libgodot.visionos.debug.xcframework/Info.plist b/misc/dist/apple_embedded_xcode/libgodot.visionos.debug.xcframework/Info.plist old mode 100755 new mode 100644 diff --git a/misc/dist/apple_embedded_xcode/libgodot.visionos.release.xcframework/Info.plist b/misc/dist/apple_embedded_xcode/libgodot.visionos.release.xcframework/Info.plist old mode 100755 new mode 100644 diff --git a/misc/dist/shell/godot.bash-completion b/misc/dist/shell/godot.bash-completion index b24c76a4112..3b652c32e0e 100644 --- a/misc/dist/shell/godot.bash-completion +++ b/misc/dist/shell/godot.bash-completion @@ -1,5 +1,3 @@ -#!/usr/bin/env bash - # Bash completion for the Godot editor # To use it, install this file in `/etc/bash_completion.d` then restart your shell. # You can also `source` this file directly in your shell startup file. diff --git a/misc/scripts/check_ci_log.py b/misc/scripts/check_ci_log.py index d024a3e375a..fb8f4a582d7 100755 --- a/misc/scripts/check_ci_log.py +++ b/misc/scripts/check_ci_log.py @@ -1,5 +1,4 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +#!/usr/bin/env python3 import sys diff --git a/misc/scripts/copyright_headers.py b/misc/scripts/copyright_headers.py index 2b1201b3c09..3d53c708ac5 100755 --- a/misc/scripts/copyright_headers.py +++ b/misc/scripts/copyright_headers.py @@ -1,5 +1,4 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +#!/usr/bin/env python3 import os import sys diff --git a/misc/scripts/dotnet_format.py b/misc/scripts/dotnet_format.py index 51fd7a1223f..a8626ad9bd6 100755 --- a/misc/scripts/dotnet_format.py +++ b/misc/scripts/dotnet_format.py @@ -1,5 +1,4 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +#!/usr/bin/env python3 import glob import os diff --git a/misc/scripts/file_format.py b/misc/scripts/file_format.py index a4ea544a451..9906faf8d31 100755 --- a/misc/scripts/file_format.py +++ b/misc/scripts/file_format.py @@ -1,5 +1,4 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +#!/usr/bin/env python3 import sys diff --git a/misc/scripts/gitignore_check.sh b/misc/scripts/gitignore_check.sh index f162e25391b..d69c559f983 100755 --- a/misc/scripts/gitignore_check.sh +++ b/misc/scripts/gitignore_check.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env sh + set -uo pipefail shopt -s globstar diff --git a/misc/scripts/header_guards.py b/misc/scripts/header_guards.py index 63a6b75ff01..cd7ffe283b5 100755 --- a/misc/scripts/header_guards.py +++ b/misc/scripts/header_guards.py @@ -1,5 +1,4 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- +#!/usr/bin/env python3 import sys diff --git a/misc/scripts/install_d3d12_sdk_windows.py b/misc/scripts/install_d3d12_sdk_windows.py index a813bd37386..ca350587976 100755 --- a/misc/scripts/install_d3d12_sdk_windows.py +++ b/misc/scripts/install_d3d12_sdk_windows.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 if __name__ != "__main__": raise SystemExit(f'Utility script "{__file__}" should not be used as a module!') diff --git a/misc/scripts/make_tarball.sh b/misc/scripts/make_tarball.sh index eac9848c93e..57035df71df 100755 --- a/misc/scripts/make_tarball.sh +++ b/misc/scripts/make_tarball.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/usr/bin/env sh if [ ! -e "version.py" ]; then echo "This script should be ran from the root folder of the Godot repository." diff --git a/misc/scripts/validate_extension_api.sh b/misc/scripts/validate_extension_api.sh index 2083a89188b..ffcbd053c12 100755 --- a/misc/scripts/validate_extension_api.sh +++ b/misc/scripts/validate_extension_api.sh @@ -1,4 +1,5 @@ -#!/bin/bash +#!/usr/bin/env bash + set -o pipefail if [ ! -f "version.py" ]; then diff --git a/misc/scripts/validate_xml.py b/misc/scripts/validate_xml.py old mode 100644 new mode 100755 diff --git a/modules/mono/build_scripts/build_assemblies.py b/modules/mono/build_scripts/build_assemblies.py index 8549c6a6c60..79b7abe68cb 100755 --- a/modules/mono/build_scripts/build_assemblies.py +++ b/modules/mono/build_scripts/build_assemblies.py @@ -1,4 +1,5 @@ -#!/usr/bin/python3 +#!/usr/bin/env python3 + from __future__ import annotations import os diff --git a/tests/python_build/validate_builders.py b/tests/python_build/validate_builders.py old mode 100644 new mode 100755 index 1375c448c7a..0986d132e31 --- a/tests/python_build/validate_builders.py +++ b/tests/python_build/validate_builders.py @@ -1,4 +1,5 @@ #!/usr/bin/env python3 + from __future__ import annotations if __name__ != "__main__":