# 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|
            crypto|
            net|
            testing|
            third_party|
            tools/gyp|
            url
        )/
        |
        components/update_client/((?!cobalt).)*$
    )

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)^(
                starboard/[^/]+/i18n/|
                cobalt/content/licenses/|
                cobalt/fetch/embedded_scripts
            )

-   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: python ./precommit_hooks/clang_format_wrapper.py
        language: python
        types: [c++]
        args: [-i, -style=file]
    -   id: cpplint
        name: cpplint
        entry: cpplint
        language: system
        types: [c++]
        args: [--verbose=4, --quiet]
        exclude: |
            (?x)(
                ^cobalt/bindings/(templates|generated)/|
                ^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)^(
                cobalt/media/|
                cobalt/layout_tests/testdata/|
                starboard/android/apk/app/src/main/java/dev/cobalt/media/MediaDrmBridge.java$
            )
        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: run-py2-tests
        name: Run Python 2 Tests
        description: Run Python 2 unittests
        entry: python precommit_hooks/run_python2_unittests.py
        language: python
        language_version: python2.7
        additional_dependencies: ['mock']
        types: [python]
    -   id: osslint
        name: osslint
        entry: python precommit_hooks/osslint_wrapper.py
        language: python
        types: [text]
        stages: [manual]
    -   id: internal-file-check
        name: Internal File Check
        entry: python precommit_hooks/internal_file_check_wrapper.py
        language: python
        types: [text]
        # TODO: Remove docker-compose-windows.yml after internal check evaluates
        # properly on it.
        exclude: '(^docker-compose-windows.yml|EXCLUDE\.FILES(\.RECURSIVE)?|codereview\.settings)$'
    -   id: gn-format
        name: GN format
        entry: gn format
        language: system
        files: '.*\.gni?$'
