arrow icon indicating copy to clipboard operation
arrow copied to clipboard

[Dev] Use pre-commit-hook instead of "archery lint" for all lints

Open kou opened this issue 1 year ago • 0 comments

Describe the enhancement requested

We use archery lint ... to run linters. It's convenient because we don't need to know linters details but we need to install archery[lint] and we need to write Python code to add a new linter. They're a bit annoying.

How about using pre-commit https://pre-commit.com/ for all linters? If we use pre-commit:

  • We don't need to write Python code for new linter and changing linter behavior (We need to write YAML instead)
  • C++: We don't need to install clang-format-14 separately (pre-commit can do it automatically)
  • C++: We don't need to run CMake to run clang-format-14
  • We can get easy to read lint failure messages (archery docker run ubuntu-lint outputs many unrelated messages)

Note that we already have some pre-commit configuration: https://github.com/apache/arrow/blob/main/.pre-commit-config.yaml

Sub issues:

  • #40448

Component(s)

Developer Tools

kou avatar Mar 08 '24 08:03 kou