3 ms·
...Is it? Maybe blaze/bazel changed a lot in the past several years, but I remember it didn't even auto-import headers. You have to manually specify every hea
by yongjik 8y ago
...Is it? Maybe blaze/bazel changed a lot in the past several years, but I remember it didn't even auto-import headers. You have to manually specify every header file in your dependency list. (To be precise, for every header you include, your dependency must include some BUILD target that contains that header.)
So you don't ever get "undefined symbol"... you instead get "cannot include header"! Not sure if that's an improvement.
:/
- adgasf 8y agoThe header lists are specified either as a list of directories (Bazel) or using globs (Buck). You must have been using quite an old version! Yes, it is a big improvement. The error message tells you exactly what you failed to do. If a target does not export all of its headers correctly, then fixing that fixes it for everyone consuming that target, which scales well to large code-bases. It is not a coincidence that so many companies (Google, Facebook, Amazon, Twitter, Thought Machine) have converged on this design.