---
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v2.4.0
    hooks:
      - id: trailing-whitespace
      - id: mixed-line-ending
        args: ['--fix', 'lf']
        exclude: '.*\.(svg)$'
      - id: check-byte-order-marker
      - id: check-executables-have-shebangs
      - id: check-merge-conflict
      - id: debug-statements
        # nova/cmd/manage.py imports pdb on purpose.
        exclude: 'nova/cmd/manage.py'
      - id: check-yaml
        files: .*\.(yaml|yml)$
  - repo: https://github.com/Lucas-C/pre-commit-hooks
    rev: v1.1.7
    hooks:
      - id: remove-tabs
        exclude: '.*\.(svg)$'
  - repo: local
    hooks:
      - id: flake8
        name: flake8
        additional_dependencies:
          - hacking>=1.1.0,<1.2.0
        language: python
        entry: flake8
        files: '^.*\.py$'
        exclude: '^(doc|releasenotes|tools)/.*$'

---
default_language_version:
  # force all unspecified python hooks to run python3
  python: python3
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v2.4.0
    hooks:
      - id: trailing-whitespace
      - id: mixed-line-ending
        args: ['--fix', 'lf']
        exclude: '.*\.(svg)$'
      - id: check-byte-order-marker
      - id: check-executables-have-shebangs
      - id: check-merge-conflict
      - id: debug-statements
        # nova/cmd/manage.py imports pdb on purpose.
        exclude: 'nova/cmd/manage.py'
      - id: check-yaml
        files: .*\.(yaml|yml)$
  - repo: https://github.com/Lucas-C/pre-commit-hooks
    rev: v1.1.7
    hooks:
      - id: remove-tabs
        exclude: '.*\.(svg)$'
  - repo: local
    hooks:
      - id: flake8
        name: flake8
        additional_dependencies:
          - hacking>=1.1.0,<1.2.0
        language: python
        entry: flake8
        files: '^.*\.py$'
        exclude: '^(doc|releasenotes|tools)/.*$'

Use Python 3 to run checks
pre-commit: Use Python 3 to run checks

We need this otherwise flake8 will run in Python 2 mode, which results
in syntax errors for Python 3-only syntax like kwarg-only functions.

Change-Id: Id55dbce1d9a19ccaa4fe605985fb165e9b3ab48c
Signed-off-by: Stephen Finucane <492121341a95b3c3aab646bed44634f739dd019b@redhat.com>
