# 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: [commit, push]
default_language_version:
  # force all unspecified python hooks to run python3
  python: python3
minimum_pre_commit_version: "1.20.0"
repos:
  - repo: meta
    hooks:
      - id: identity
      - id: check-hooks-apply
  - repo: https://github.com/Lucas-C/pre-commit-hooks
    rev: v1.1.9
    hooks:
      - id: forbid-tabs
      - id: insert-license
        name: Add license
        exclude: ^\.github/.*$|^license-templates/|\.json$
        args:
          - --comment-style
          - "|#|"
          - --license-filepath
          - license-templates/LICENSE.txt
          - --fuzzy-match-generates-todo
      - id: insert-license
        name: Add license for all rst files
        exclude: ^\.github/.*$
        args:
          - --comment-style
          - "||"
          - --license-filepath
          - license-templates/LICENSE.rst
          - --fuzzy-match-generates-todo
        files: \.rst$
  - repo: https://github.com/psf/black
    rev: 20.8b1
    hooks:
      - id: black
        args: [--config=./pyproject.toml]
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v3.4.0
    hooks:
      - id: check-merge-conflict
      - id: debug-statements
      - id: check-builtin-literals
      - id: detect-private-key
      - id: end-of-file-fixer
      - id: mixed-line-ending
      - id: trailing-whitespace
      - id: fix-encoding-pragma
        args:
          - --remove
  - repo: https://github.com/asottile/pyupgrade
    rev: v2.7.4
    hooks:
      - id: pyupgrade
        args: ["--py36-plus"]
  - repo: https://github.com/pre-commit/pygrep-hooks
    rev: v1.7.0
    hooks:
      - id: rst-backticks
      - id: python-no-log-warn
  - repo: https://github.com/timothycrosley/isort
    rev: 5.7.0
    hooks:
      - id: isort
        name: Run isort to sort imports
        files: \.py$
        # To keep consistent with the global isort skip config defined in setup.cfg
        exclude: ^build/.*$|^.tox/.*$|^venv/.*$
  - repo: https://gitlab.com/pycqa/flake8
    rev: 3.8.4
    hooks:
      - id: flake8
        name: Run flake8
