api: Support disabling some toolchain linters
This CL adds support for new fields in the LinterRequest proto
introduced in CL:3774610 to selectively disable some linters. THis
allows us to target a specific set of linters in calls from builders
based on which file extensions are found.
BUG=b:239625334
TEST=call_scripts
Cq-Depend: chromium:3774610
Change-Id: Ic48accde2ceaed7fe0885d9872a8949dc25858c8
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/chromite/+/3777561
Reviewed-by: Alex Klein <saklein@chromium.org>
Tested-by: Ryan Beltran <ryanbeltran@chromium.org>
Commit-Queue: Ryan Beltran <ryanbeltran@chromium.org>
diff --git a/api/controller/toolchain.py b/api/controller/toolchain.py
index 58a5636..520c21b 100644
--- a/api/controller/toolchain.py
+++ b/api/controller/toolchain.py
@@ -352,9 +352,19 @@
input_proto.sysroot.path,
differential=input_proto.filter_modified)
- findings = build_linter.emerge_with_linting(use_clippy=True,
- use_tidy=True,
- use_golint=True)
+ use_clippy = (
+ toolchain_pb2.LinterFinding.CARGO_CLIPPY
+ not in input_proto.disabled_linters)
+ use_tidy = (
+ toolchain_pb2.LinterFinding.CLANG_TIDY
+ not in input_proto.disabled_linters)
+ use_golint = (
+ toolchain_pb2.LinterFinding.GO_LINT
+ not in input_proto.disabled_linters)
+
+ findings = build_linter.emerge_with_linting(use_clippy=use_clippy,
+ use_tidy=use_tidy,
+ use_golint=use_golint)
for finding in findings:
locations = []