forked from ICube-Robotics/ethercat_driver_ros2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.pre-commit-config.yaml
138 lines (124 loc) · 3.74 KB
/
.pre-commit-config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
# To use:
# pre-commit run -a
# Or:
# pre-commit install # (runs every time you commit in git)
# To update this file:
# pre-commit autoupdate
# See https://github.com/pre-commit/pre-commit
repos:
# Standard hooks
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.4.0
hooks:
- id: check-added-large-files
- id: check-ast
- id: check-case-conflict
- id: check-docstring-first
- id: check-merge-conflict
- id: check-symlinks
- id: check-xml
- id: check-yaml
- id: debug-statements
- id: end-of-file-fixer
- id: mixed-line-ending
- id: trailing-whitespace
exclude_types: [rst]
- id: fix-byte-order-marker
# Python hooks
- repo: https://github.com/asottile/pyupgrade
rev: v2.12.0
hooks:
- id: pyupgrade
args: [--py36-plus]
# PEP 257
- repo: https://github.com/FalconSocial/pre-commit-mirrors-pep257
rev: v0.3.3
hooks:
- id: pep257
args: ["--ignore=D100,D101,D102,D103,D104,D105,D106,D107,D203,D212,D404"]
- repo: https://github.com/pycqa/flake8
rev: 3.9.0
hooks:
- id: flake8
args: ["--extend-ignore=E501"]
# CPP hooks
# - repo: local
# hooks:
# - id: clang-format
# name: clang-format
# description: Format files with ClangFormat.
# entry: clang-format-10
# language: system
# files: \.(c|cc|cxx|cpp|frag|glsl|h|hpp|hxx|ih|ispc|ipp|java|js|m|proto|vert)$
# args: ['-fallback-style=none', '-i']
- repo: local
hooks:
- id: ament_uncrustify
name: ament_uncrustify
description: Uncrustify.
stages: [commit]
entry: ament_uncrustify
language: system
files: \.(h\+\+|h|hh|hxx|hpp|cuh|c|cc|cpp|cu|c\+\+|cxx|tpp|txx)$
args: ["--reformat"]
- repo: local
hooks:
- id: ament_cppcheck
name: ament_cppcheck
description: Static code analysis of C/C++ files.
stages: [commit]
entry: ament_cppcheck
language: system
files: \.(h\+\+|h|hh|hxx|hpp|cuh|c|cc|cpp|cu|c\+\+|cxx|tpp|txx)$
# Maybe use https://github.com/cpplint/cpplint instead
# - repo: local
# hooks:
# - id: ament_cpplint
# name: ament_cpplint
# description: Static code analysis of C/C++ files.
# stages: [commit]
# entry: ament_cpplint
# language: system
# files: \.(h\+\+|h|hh|hxx|hpp|cuh|c|cc|cpp|cu|c\+\+|cxx|tpp|txx)$
# args: ["--linelength=100", "--filter=-whitespace/newline"]
# Cmake hooks
- repo: local
hooks:
- id: ament_lint_cmake
name: ament_lint_cmake
description: Check format of CMakeLists.txt files.
stages: [commit]
entry: ament_lint_cmake
language: system
files: CMakeLists\.txt$
# Copyright
- repo: local
hooks:
- id: ament_copyright
name: ament_copyright
description: Check if copyright notice is available in all files.
stages: [commit]
entry: ament_copyright
language: system
# Docs - RestructuredText hooks
# - repo: https://github.com/PyCQA/doc8
# rev: 0.9.0a1
# hooks:
# - id: doc8
# args: ['--max-line-length=100', '--ignore=D001']
# exclude: CHANGELOG\.rst$
# - repo: https://github.com/pre-commit/pygrep-hooks
# rev: v1.8.0
# hooks:
# - id: rst-backticks
# exclude: CHANGELOG\.rst$
# - id: rst-directive-colons
# - id: rst-inline-touching-normal
# Spellcheck in comments and docs
# skipping of *.svg files is not working...
- repo: https://github.com/codespell-project/codespell
rev: v2.0.0
hooks:
- id: codespell
args: ['--write-changes']
exclude: CHANGELOG\.rst|\.(svg|pyc)$