This adds the http://bant.build/ tool in the CI checking, for missing and superfluous dependencies in BUILD files and emitting a buildozer^1 script to fix (The CI just checks the cleanness, the user has to run the buildozer commands and update the PR).
The bant utility generally helps to explore targets and dependencies in bazel projects, and it has a dwyu (Depend-on What You Use) feature which helps with clean-ups, so it pretty much provides build_cleaner functionality.
The bant dwyu works very well on the C++ projects I have tested in on (Verible is so clean as I used an earlier development version of bant on it already; there were tens of findings)).
This adds the http://bant.build/ tool in the CI checking, for missing and superfluous dependencies in BUILD files and emitting a
buildozer
^1 script to fix (The CI just checks the cleanness, the user has to run the buildozer commands and update the PR).Fixes #655
(There is an open feature request issue on bazel for such a tool, but none exists as of now (https://github.com/bazelbuild/bazel/issues/6871).
The
bant
utility generally helps to explore targets and dependencies in bazel projects, and it has adwyu
(Depend-on What You Use) feature which helps with clean-ups, so it pretty much providesbuild_cleaner
functionality. Thebant dwyu
works very well on the C++ projects I have tested in on (Verible is so clean as I used an earlier development version of bant on it already; there were tens of findings)).