| # 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. |
| |
| # To use this, install the python package `pre-commit` and |
| # run once `pre-commit install`. This will setup a git pre-commit-hook |
| # that is executed on each commit and will report the linting problems. |
| # To run all hooks on all files use `pre-commit run -a` |
| |
| repos: |
| - repo: https://github.com/pre-commit/pre-commit-hooks |
| rev: v2.3.0 |
| hooks: |
| - id: check-xml |
| - id: check-yaml |
| exclude: ci/conda/meta.yaml |
| - id: end-of-file-fixer |
| - id: trailing-whitespace |
| - repo: https://github.com/pocc/pre-commit-hooks |
| rev: v1.3.5 |
| hooks: |
| - id: clang-format |
| args: [-i] |
| types_or: [c, c++] |
| - repo: https://github.com/cheshirekow/cmake-format-precommit |
| rev: v0.6.13 |
| hooks: |
| - id: cmake-format |
| args: [--in-place] |
| - repo: https://github.com/cpplint/cpplint |
| rev: 1.6.0 |
| hooks: |
| - id: cpplint |
| args: |
| # From Arrow's config |
| - "--filter=-whitespace/comments,-readability/casting,-readability/todo,-readability/alt_tokens,-build/header_guard,-build/c++11,-build/include_order,-build/include_subdir" |
| - "--linelength=90" |
| - "--verbose=2" |
| - repo: https://github.com/golangci/golangci-lint |
| rev: v1.49.0 |
| hooks: |
| - id: golangci-lint |
| entry: bash -c 'cd go/adbc && golangci-lint run --fix --timeout 5m' |
| types_or: [go] |
| - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks |
| rev: v2.3.0 |
| hooks: |
| - id: pretty-format-golang |
| - id: pretty-format-java |
| args: [--autofix] |
| types_or: [java] |
| - repo: https://github.com/psf/black |
| rev: 22.3.0 |
| hooks: |
| - id: black |
| types_or: [python] |
| - repo: https://github.com/PyCQA/flake8 |
| rev: 4.0.1 |
| hooks: |
| - id: flake8 |
| types_or: [python] |
| - repo: https://github.com/PyCQA/isort |
| rev: 5.12.0 |
| hooks: |
| - id: isort |
| types_or: [python] |
| - repo: local |
| hooks: |
| - id: apache-rat |
| name: Check for unapproved licenses |
| language: script |
| pass_filenames: false |
| entry: "./ci/scripts/run_rat_local.sh" |
| |
| exclude: "^c/vendor/.*" |