Wanted to share a thing born out of my frustration from using hedronvision's compile-commands.json extractor for Bazel. I'm working on a medium sized Bazel project in my company, and the project doesn't have and will not have integration of a 3rd party unnecessary code into its build system. The intrusiveness required for hedronvision's extractor makes working with different checkouts a real pain, so I implemented a different approach based on supervising on what a bazel server is doing with strace. This works super well with my workloads, and is super convenient to use - basically prepend any build script eventually doing `bazel build` with prefix `yacce -- ` and run it. But due to strace use it has its own limitations: its Linux (strace) only and compilation must happen locally (so no RBE is supported). If that isn't a no-go for you, you might want to give it a try with `pip install yacce`.
Source code and the docs are all on the github:
https://github.com/Arech/yacce