# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
---
default_stages: [pre-commit, pre-push]
default_language_version:
  # force all unspecified Python hooks to run python3
  python: python3
minimum_pre_commit_version: "2.17.0"
repos:
  - repo: meta
    hooks:
      - id: identity
      - id: check-hooks-apply
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v5.0.0
    hooks:
      - id: check-case-conflict
      - id: check-illegal-windows-names
      - id: check-merge-conflict
      - id: check-vcs-permalinks
      - id: end-of-file-fixer
        files: (m|M)akefile$|\.(bat|c|dxp|h|hrc|hxx|idl|in|ini|java|md|mk|pl|pm|py|rc|sh|xcs|xdl|xhp|xmi|xsd|ya?ml)$|^ext_libraries/.*$|^main/[abc].*\.cxx$|^test/.*$
      - id: mixed-line-ending
        files: ^main/.*\.(c|h)xx$|^main/.*\.mk$|^main/.*\.java$|\.sh$|\.xslt?$|\.ya?ml$|^main/accessibility/.*$|^main/afms/.*$|^main/animations/.*$|^main/apache-commons/.*$
      - id: trailing-whitespace
        files: \.(bat|ini|pl|sh|ya?ml)$
  - repo: https://github.com/codespell-project/codespell
    rev: v2.4.1
    hooks:
      - id: codespell
        name: run codespell
        description: check spelling with codespell
        args: [--ignore-words=.github/linters/codespell.txt]
        exclude: ^extras/
