3 ms·
I used bazel for a few internal repositories written in Rust and it's amazing .... until you hit an issue. Edge cases in Bazel are about as documented as any r
by 19h 4y ago
I used bazel for a few internal repositories written in Rust and it's amazing .... until you hit an issue.
Edge cases in Bazel are about as documented as any random fish you might find in a crack at the bottom of the ocean. And the most hilarious thing to deal with is "yeah this was written for a Google project, that other use case didn't apply to our project".
When eventually after the Xth issue I was told "why don't you just fork this standard package" (it was for typescript support inside the Rust repo) I was like "f*** bazel" and never touched it again.
It's amazing when it works. If it doesn't you're f******.
- klodolph 4y agoThe experience of using Bazel inside Google with support is different from the experience of using Bazel outside Google. Some ex-Googler may want to use Bazel and may have very good reasons for it, but they’re often unprepared to take over the support duties that, at Google, are provided by the developer tool teams.
- dboreham 4y ago"We did X at Google" for me has become an antipattern and a red flag.
- klodolph 4y agoIn general, yes. Bazel has a lot of potential. It can improve developer productivity, with better correctness guarantees and improved build times. Or it can be a big sink of developer time, with people spending endless hours managing Bazel. It has potential to go both ways.
- dilyevsky 4y agoI found when i started using bazel outside of google that my mental model for how its apis really work was really lacking. Once i learned the apis (and the docs are outstanding at helping with that), and with the help of a few examples easily searchable via github, it became quite manageable
- MuffinFlavored 4y ago> I used bazel for a few internal repositories written in Rust and it's amazing Could you explain how it beats for example, a Dockerfile in terms of what you need to write/get your hands dirty with (syntax, tooling, etc.) if your output goal is just an OCI image format to publish/run in container orchestration software? Is that too simple of a usecase?
- saidinesh5 4y ago> "yeah this was written for a Google project, that other use case didn't apply to our project" Not only is that a very narrow set of use cases (Read: they only deploy statically linked binaries on mostly unix-y environments), Even the fixes for those very basic use cases take for ever. Eg. This 7 year old issue is still open: https://github.com/bazelbuild/bazel/issues/1920 https://github.com/bazelbuild/bazel/issues/1920 . To be able to create a statically linked library, we had to use: https://github.com/hotg-ai/librunecoral/blob/master/runecoral/cc_static_library.bzl https://github.com/hotg-ai/librunecoral/blob/master/runecora... . Had to use some weird hack to build shared libraries too. Overall, it was just annoying.