chipsalliance / verible

Verible is a suite of SystemVerilog developer tools, including a parser, style-linter, formatter and language server
https://chipsalliance.github.io/verible/
Other
1.25k stars 195 forks source link

Integrate `bant` BUILD dependency cleaner into CI #2186

Closed hzeller closed 1 month ago

hzeller commented 1 month ago

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 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)).