mirror of
https://github.com/Kitware/CMake.git
synced 2025-05-07 22:06:42 +08:00
147 lines
5.0 KiB
YAML
147 lines
5.0 KiB
YAML
# Read the docs here: https://pre-commit.com
|
|
# List of some available hooks: https://pre-commit.com/hooks.html
|
|
#
|
|
# Install `pre-commit`:
|
|
#
|
|
# $ pip install pre-commit
|
|
#
|
|
# Install hooks to your clone:
|
|
# $ pre-commit install
|
|
#
|
|
|
|
default_stages: [pre-commit]
|
|
default_install_hook_types: [commit-msg, pre-commit]
|
|
fail_fast: false
|
|
# NOTE Exclude third-party sources and some files globally.
|
|
# See `Utilities/Scripts/update-*.bash` scripts and
|
|
# https://pre-commit.com/#regular-expressions
|
|
exclude: >-
|
|
(?x)Auxiliary/vim
|
|
| Licenses/.*\.txt$
|
|
| Source/(CursesDialog/form|kwsys)
|
|
| Utilities/(cm.*|GitSetup|KWIML)
|
|
| .*\.patch$
|
|
|
|
repos:
|
|
- repo: meta
|
|
hooks:
|
|
- id: check-hooks-apply
|
|
- id: check-useless-excludes
|
|
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v5.0.0
|
|
hooks:
|
|
- id: check-case-conflict
|
|
- id: check-json
|
|
# NOTE Some tests have intentionally broken JSONs.
|
|
exclude: >-
|
|
(?x)Tests/(
|
|
CMakeLib/testCTestResourceSpec_data/spec13
|
|
| RunCMake/CTestResourceAllocation/invalid
|
|
)\.json
|
|
- id: check-yaml
|
|
- id: end-of-file-fixer
|
|
# NOTE Exclude tests directory: some test files have no
|
|
# the trailing EOL in the file intentionally but some
|
|
# just missed it.
|
|
# TODO Add the missed trailing EOL in the following files
|
|
# if possible.
|
|
exclude: >-
|
|
(?x)Tests/(
|
|
DelphiCoverage/src/UTCovTest\.pas
|
|
| FortranModules/in_interface/module\.f90
|
|
| JavascriptCoverage/output\.json\.in
|
|
| Module/ExternalData/Alt/(
|
|
MyAlgoMap1-md5/dded55e43cd6529ee35d24113dfc87a3
|
|
| SHA1/85158f0c1996837976e858c42a9a7634bfe91b93
|
|
)
|
|
| RunCMake/(
|
|
CMP0055/CMP0055-(NEW|OLD)-Reject-Arguments\.cmake
|
|
| CommandLine/E_cat_good_binary_cat-stdout\.txt
|
|
| define_property/define_property-INITIALIZE_FROM_VARIABLE-invalid_[12]-result\.txt
|
|
| FindMatlab/MatlabTest2-stderr\.txt
|
|
| string/UTF-(16|32)LE\.txt
|
|
| Syntax/BOM-UTF-(16|32)-LE.cmake
|
|
| Syntax/CommandEOF\.cmake
|
|
| VS10Project/shader2?\.hlsl
|
|
)
|
|
| SourceGroups/README\.txt
|
|
| StringFileTest/test\.utf8
|
|
| VSWindowsFormsResx/WindowsFormsResx/MyForm\.resx
|
|
| VSXaml/Package\.appxmanifest
|
|
)
|
|
- id: mixed-line-ending
|
|
- id: trailing-whitespace
|
|
|
|
- repo: https://github.com/jumanjihouse/pre-commit-hooks
|
|
rev: 3.0.0
|
|
hooks:
|
|
- id: git-check
|
|
pass_filenames: false
|
|
|
|
- repo: https://github.com/sphinx-contrib/sphinx-lint
|
|
rev: v1.0.0
|
|
hooks:
|
|
- id: sphinx-lint
|
|
# NOTE Looks like `bad-dedent` gives too many false-positives.
|
|
args: ['--disable', 'bad-dedent']
|
|
|
|
- repo: https://github.com/pre-commit/pygrep-hooks
|
|
rev: v1.10.0
|
|
hooks:
|
|
- id: rst-backticks
|
|
# NOTE The `productionlist` directive can give false-positives
|
|
exclude: >-
|
|
(?x)Help/(
|
|
dev/maint\.rst
|
|
| manual/cmake-(developer|language)\.7\.rst
|
|
| variable/CMAKE_MESSAGE_CONTEXT\.rst
|
|
)
|
|
| Tests/CMakeLib/testRST\.rst
|
|
- id: rst-directive-colons
|
|
- id: rst-inline-touching-normal
|
|
|
|
- repo: https://github.com/codespell-project/codespell
|
|
rev: v2.4.0
|
|
hooks:
|
|
- id: codespell
|
|
stages: [commit-msg, pre-commit]
|
|
|
|
- repo: https://github.com/crate-ci/typos
|
|
rev: v1.30.0
|
|
hooks:
|
|
- id: typos
|
|
# NOTE Override hook's default args to prevent automatic
|
|
# fixing of found typos. Let the dev decide what to fix!
|
|
args: ['--force-exclude']
|
|
stages: [commit-msg, pre-commit]
|
|
|
|
- repo: https://github.com/pre-commit/mirrors-clang-format
|
|
# ATTENTION CMake's `clang-format` is version 18.
|
|
# DO NOT UPDATE THIS VERSION unless officially supported
|
|
# `clang-format` get bumped.
|
|
rev: v18.1.8
|
|
hooks:
|
|
- id: clang-format
|
|
types_or: [c, c++, cuda]
|
|
exclude_types: [objective-c++]
|
|
# The following exclude list based on the output of:
|
|
# $ git ls-files | git check-attr --stdin format.clang-format | grep ...
|
|
# and
|
|
# $ find -name .gitattributes -exec grep -Hn clang-format {} +
|
|
exclude: >-
|
|
(?x)(
|
|
Source/LexerParser
|
|
| Tests/(
|
|
CSharpLinkFromCxx/UsefulManagedCppClass.*
|
|
| CompileFeatures/cxx_right_angle_brackets\.cpp
|
|
| PositionIndependentTargets/pic_test\.h
|
|
| RunCMake/(
|
|
CommandLine/cmake_depends/test_UTF-16LE\.h
|
|
| CXXModules/examples/circular/circular-[ab]\.cppm
|
|
| GenerateExportHeader/reference
|
|
)
|
|
| VSWinStorePhone/Direct3DApp1/Direct3DApp1\.cpp
|
|
)
|
|
)
|