00e52d975c
Apply Godot copyright header only on the platform folders that we maintain upstream. This lets downstream forks decide what to do with their potential proprietary platforms.
201 lines
6.3 KiB
YAML
201 lines
6.3 KiB
YAML
exclude: |
|
|
(?x)^(
|
|
.*thirdparty/.*|
|
|
.*-so_wrap\.(h|c)$
|
|
)
|
|
|
|
repos:
|
|
- repo: https://github.com/pre-commit/mirrors-clang-format
|
|
rev: v17.0.6
|
|
hooks:
|
|
- id: clang-format
|
|
files: \.(c|h|cpp|hpp|cc|cxx|m|mm|inc|java|glsl)$
|
|
types_or: [text]
|
|
exclude: |
|
|
(?x)^(
|
|
tests/python_build/.*|
|
|
platform/android/java/lib/src/com/.*
|
|
)
|
|
|
|
- repo: https://github.com/psf/black-pre-commit-mirror
|
|
rev: 24.2.0
|
|
hooks:
|
|
- id: black
|
|
files: (\.py$|SConstruct|SCsub)
|
|
types_or: [text]
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
rev: v0.971
|
|
hooks:
|
|
- id: mypy
|
|
files: \.py$
|
|
types_or: [text]
|
|
|
|
- repo: https://github.com/codespell-project/codespell
|
|
rev: v2.2.6
|
|
hooks:
|
|
- id: codespell
|
|
types_or: [text]
|
|
exclude: |
|
|
(?x)^(
|
|
.*\.desktop$|
|
|
.*\.gitignore$|
|
|
.*\.po$|
|
|
.*\.pot$|
|
|
.*\.rc$|
|
|
\.mailmap$|
|
|
AUTHORS.md$|
|
|
COPYRIGHT.txt$|
|
|
DONORS.md$|
|
|
core/input/gamecontrollerdb.txt$|
|
|
core/string/locales.h$|
|
|
editor/project_converter_3_to_4.cpp$|
|
|
platform/android/java/lib/src/com/.*|
|
|
platform/web/package-lock.json$
|
|
)
|
|
args:
|
|
- --enable-colors
|
|
- --write-changes
|
|
- --check-hidden
|
|
- --quiet-level
|
|
- '3'
|
|
- --ignore-words-list
|
|
- aesthetic,aesthetics,breaked,cancelled,colour,curvelinear,doubleclick,expct,findn,gird,hel,inout,lod,mis,nd,numer,ot,requestor,te,thirdparty,vai
|
|
- --builtin
|
|
- clear,rare,en-GB_to_en-US
|
|
|
|
### Requires Docker; look into alternative implementation.
|
|
# - repo: https://github.com/comkieffer/pre-commit-xmllint.git
|
|
# rev: 1.0.0
|
|
# hooks:
|
|
# - id: xmllint
|
|
# language: docker
|
|
# types_or: [text]
|
|
# files: ^(doc/classes|.*/doc_classes)/.*\.xml$
|
|
# args: [--schema, doc/class.xsd]
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-eslint
|
|
rev: v8.46.0
|
|
hooks:
|
|
- id: eslint
|
|
name: eslint-engine
|
|
files: ^(platform/web/js/engine/|js/jsdoc2rst/).*\.js$
|
|
args: [--fix, --no-eslintrc, --config, platform/web/.eslintrc.engine.js]
|
|
additional_dependencies: &eslint-deps
|
|
- eslint@8.46.0
|
|
- eslint-config-airbnb-base@15.0.0
|
|
- eslint-plugin-import@2.28.0
|
|
- eslint-plugin-html@7.1.0
|
|
- '@html-eslint/eslint-plugin@0.19.1'
|
|
- '@html-eslint/parser@0.19.1'
|
|
- id: eslint
|
|
name: eslint-libs
|
|
files: ^(platform/web/js/libs/|modules/).*\.js$
|
|
args: [--fix, --no-eslintrc, --config, platform/web/.eslintrc.libs.js]
|
|
additional_dependencies: *eslint-deps
|
|
- id: eslint
|
|
name: eslint-sw
|
|
files: ^misc/dist/html/service-worker\.js$
|
|
args: [--fix, --no-eslintrc, --config, platform/web/.eslintrc.sw.js]
|
|
additional_dependencies: *eslint-deps
|
|
- id: eslint
|
|
name: eslint-html
|
|
files: ^misc/dist/html/.*\.html$
|
|
types: [html]
|
|
args: [--fix, --no-eslintrc, --config, platform/web/.eslintrc.html.js]
|
|
additional_dependencies: *eslint-deps
|
|
|
|
- repo: local
|
|
hooks:
|
|
- id: make-rst
|
|
name: make-rst
|
|
language: python
|
|
entry: python3 doc/tools/make_rst.py doc/classes modules platform --dry-run --color
|
|
pass_filenames: false
|
|
files: ^(doc/classes|.*/doc_classes)/.*\.xml$
|
|
|
|
- id: doc-status
|
|
name: doc-status
|
|
language: python
|
|
entry: python3 doc/tools/doc_status.py
|
|
files: ^(doc/classes|.*/doc_classes)/.*\.xml$
|
|
|
|
- id: jsdoc
|
|
name: jsdoc
|
|
language: node
|
|
entry: jsdoc
|
|
files: ^platform/web/js/engine/(engine|config|features)\.js$
|
|
args:
|
|
- --template
|
|
- platform/web/js/jsdoc2rst/
|
|
- platform/web/js/engine/engine.js
|
|
- platform/web/js/engine/config.js
|
|
- platform/web/js/engine/features.js
|
|
- --destination
|
|
- ''
|
|
- -d
|
|
- dry-run
|
|
pass_filenames: false
|
|
additional_dependencies: ['jsdoc@^4.0.3']
|
|
|
|
- id: copyright-headers
|
|
name: copyright-headers
|
|
language: python
|
|
entry: python3 misc/scripts/copyright_headers.py
|
|
files: \.(c|h|cpp|hpp|cc|cxx|m|mm|inc|java)$
|
|
exclude: |
|
|
(?x)^(
|
|
core/math/bvh_.*\.inc$|
|
|
platform/(?!android|ios|linuxbsd|macos|web|windows)\w+/.*|
|
|
platform/android/java/lib/src/com/.*|
|
|
platform/android/java/lib/src/org/godotengine/godot/gl/GLSurfaceView\.java$|
|
|
platform/android/java/lib/src/org/godotengine/godot/gl/EGLLogWrapper\.java$|
|
|
platform/android/java/lib/src/org/godotengine/godot/utils/ProcessPhoenix\.java$
|
|
)
|
|
|
|
- id: header-guards
|
|
name: header-guards
|
|
language: python
|
|
entry: python3 misc/scripts/header_guards.py
|
|
files: \.(h|hpp)$
|
|
exclude: |
|
|
(?x)^(
|
|
.*/thread\.h$|
|
|
.*/platform_config\.h$|
|
|
.*/platform_gl\.$h
|
|
)
|
|
|
|
- id: file-format
|
|
name: file-format
|
|
language: python
|
|
entry: python3 misc/scripts/file_format.py
|
|
types_or: [text]
|
|
exclude: |
|
|
(?x)^(
|
|
.*\.test\.txt$|
|
|
.*\.svg$|
|
|
.*\.patch$|
|
|
.*\.out$|
|
|
modules/gdscript/tests/scripts/parser/features/mixed_indentation_on_blank_lines\.gd$|
|
|
modules/gdscript/tests/scripts/parser/warnings/empty_file_newline_comment\.notest\.gd$|
|
|
modules/gdscript/tests/scripts/parser/warnings/empty_file_newline\.notest\.gd$|
|
|
platform/android/java/lib/src/com/google/.*
|
|
)
|
|
|
|
- id: dotnet-format
|
|
name: dotnet-format
|
|
language: python
|
|
entry: python3 misc/scripts/dotnet_format.py
|
|
types_or: [c#]
|
|
|
|
# End of upstream Godot pre-commit hooks.
|
|
#
|
|
# Keep this separation to let downstream forks add their own hooks to this file,
|
|
# without running into merge conflicts when rebasing on latest upstream.
|
|
#
|
|
# Start of downstream pre-commit hooks.
|
|
#
|
|
# This is still the "repo: local" scope, so new local hooks can be defined directly at this indentation:
|
|
# - id: new-local-hook
|
|
# To add external repo hooks, bring the indentation back to:
|
|
# - repo: my-remote-hook
|