blob: fc266917e854172686e8d172825e293a887233e6 [file] [log] [blame]
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
default_stages: [commit]
default_language_version:
python: python3
exclude: |
(?x)^(
(
base|
build|
buildtools|
components/crash/core/common|
components/metrics|
components/metrics_services_manager|
components/ukm|
components/variations|
components/version_info|
crypto|
extensions/buildflags|
net|
internal/starboard/shared/playstation/glimp/shaders|
testing|
third_party|
tools/gyp|
url
)/
|
components/update_client/((?!cobalt).)*$
|
.*\.sig$
)
repos:
- repo: https://cobalt.googlesource.com/pre-commit-hooks
rev: e1668fe86af3810fbca72b8653fe478e66a0afdc # v3.2.0
hooks:
- id: check-case-conflict
- id: end-of-file-fixer
- id: trailing-whitespace
- id: mixed-line-ending
- repo: https://cobalt.googlesource.com/codespell
rev: 67c489d36dd4c52cbb9e4755d90c35c6231842ef # v2.0.0
hooks:
- id: codespell
name: Spell Check
args: [-x, .codespellignorelines,
# The --ignore-words-list argument has a bug where it needs to
# be lowercase, see
# https://github.com/codespell-project/codespell/issues/1390
--ignore-words-list, atleast]
exclude: |
(?x)^(
(internal/)?starboard/[^/]+/i18n/|
cobalt/content/licenses/|
cobalt/fetch/embedded_scripts|
cobalt/loader/cors_preflight.cc|
internal/cobalt/browser/splash_screen/youtube_splash_screen.html|
internal/starboard/shared/playstation/storage_internal.cc|
starboard/shared/win32/media_transform.cc
)
- repo: local
hooks:
- id: sync-keyboxes
name: sync-keyboxes
entry: python ./precommit_hooks/sync_keyboxes_wrapper.py
language: python
stages: [post-checkout]
always_run: true
- id: clang-format
name: clang-format
entry: clang-format
language: python
types: [c++]
args: [-i, -style=file]
additional_dependencies: ['clang-format']
- id: cpplint
name: cpplint
entry: cpplint
language: system
types: [c++]
args: [--verbose=4, --quiet]
exclude: |
(?x)(
^cobalt/bindings/(templates|generated)/|
^internal/starboard/shared/uikit/.*\.h$
)
- id: yapf
name: yapf
description: Run yapf (the python formatter) in-place on changed files.
entry: yapf
language: system
types: [python]
args: [-i, -vv]
- id: pylint
name: pylint
entry: pylint
language: system
types: [python]
args: [-d W0201]
- id: google-java-format
name: google-java-format
entry: python ./precommit_hooks/google_java_format_wrapper.py
language: python
types: [java]
args: [-i]
- id: gcheckstyle
name: Lint Java With gcheckstyle
entry: python ./precommit_hooks/gcheckstyle_wrapper.py
language: python
types: [java]
verbose: true
- id: check-copyright-year
name: check copyright year
entry: python ./precommit_hooks/check_copyright_year.py
language: python
types: [file, text]
stages: [push]
exclude: |
(?x)^(
.pre-commit-config.yaml$|
cobalt/media/|
cobalt/layout_tests/testdata/|
nb/|
starboard/android/apk/app/src/main/java/dev/cobalt/media/MediaDrmBridge.java$|
starboard/shared/starboard/player/filter/decoded_audio_queue.cc$|
starboard/shared/starboard/player/filter/decoded_audio_queue.h$|
starboard/shared/starboard/player/filter/wsola_internal.cc$
)
exclude_types: [markdown]
verbose: true
- id: check-if-starboard-interface-changed
name: check if starboard interface changed
entry: python ./precommit_hooks/warn_that_starboard_interface_changed_wrapper.py
language: python
files: '^starboard/[^/]+\.h$'
stages: [push]
- id: download-resources
name: download resources
entry: python ./download_resources.py
language: python
stages: [post-checkout]
always_run: true
- id: test-download-from-gcs-helper
name: test download from gcs helper
entry: python
language: python
pass_filenames: false
always_run: true
stages: [push]
args: [-m, unittest, tools/download_from_gcs_test.py]
- id: test-python3-compatibility
name: Test Python 3 Compatibility
description: Checks that scripts can be run in Python 3
entry: python precommit_hooks/python3_check.py
language: python
types: [python]
verbose: true
- id: check-bug-in-commit-message
name: Check Bug In Commit Message
description: Checks for a tracking bug in a commit message
entry: python precommit_hooks/check_bug_in_description_wrapper.py
language: python
stages: [push]
always_run: true
pass_filenames: false
- id: gn-format
name: GN format
entry: gn format
language: system
files: '.*\.gni?$'