Open ghost opened 7 months ago
Hi, thanks for the report. Please share:
Your bazel_clang_tidy commit id (make sure you are using the latest)
Your .clang-tidy config
An example bazel target, that reproduces the issue.
To reproduce:
master
branch at revision e89e0a0631bbdacb74882d73bf6b2514fb5619cb
)bazel build src/mongo/db/commands:fsync_locked_with_debug --aspects @bazel_clang_tidy//clang_tidy:clang_tidy.bzl%clang_tidy_aspect --output_groups=report --@bazel_clang_tidy//:clang_tidy_config=//:clang_tidy_config --config=local
When integrating this tool off-the-shelf with our build system, it has a curious problem: it tries to run clang-tidy for each of the #include-d files from our system. We do have an exclude filter in the clang tidy config itself, but that applies after clang-tidy itself runs. As a result, clang-tidy runs tens of thousands of times (once for each #include), which breaks the system.
To get around this, I added a (admittedly hacky) company-specific inclusion logic (see this PR). It works, but it's not very elegant.
Could you consider adding some kind of mechanism for the user to specify inclusion/exclusion criteria for source files? I'm exploring how to configure an
aspect
; if I write a PR that adds some kind ofclang_tidy_source_must_include_substring
option, are you amenable to adding that to the repo?