The next generation of Bazel builds
blogsystem5.substack.com
The next generation of Bazel builds
1–10 of 90 posts
Re: The next generation of Bazel builds
#2Re: The next generation of Bazel builds
#3Mentions Buck, but no mention of Pants or Please.
Re: The next generation of Bazel builds
#4Yes please!
Re: The next generation of Bazel builds
#5Re: The next generation of Bazel builds
#6>On the other hand, we need a tiny build system that does all of the work locally and that can be used by the myriad of open-source projects that the industry relies on. This system has to be written in Rust (oops, I said it) with minimal dependencies and be kept lean and fast so that IDEs can communicate with it quickly. This is a niche that is not fulfilled by anyone right now and that my mind keeps coming to; Yes…
Re: The next generation of Bazel builds
#7>On the other hand, we need a tiny build system that does all of the work locally and that can be used by the myriad of open-source projects that the industry relies on. This system has to be written in Rust (oops, I said it) with minimal dependencies and be kept lean and fast so that IDEs can communicate with it quickly. This is a niche that is not fulfilled by anyone right now and that my mind keeps coming to; Yes…
- Cross-compilation and target platform information
- Fetching dependencies
- Toolchains
I'm not sure a system that solves these would still be considered minimal by most, but those are table-stakes features in my view.
If you don't need these things, maybe stick with Make?
Re: The next generation of Bazel builds
#8I find the dismissal of buck2 pretty shallow. Most of the world is not already heavily invested to bazel, so compatibility is imho overstated; I don't see it being that far-fetched for something like buck2 to leapfrog bazel. That being said, buck2 definitely would need some love from outside meta to really be viable competitor, right now it still feels like half-complete code drop
https://registry.bazel.build/all-modules
But with Buck2 you're stuck with `http_archive` and vendoring.
Re: The next generation of Bazel builds
#9I find the dismissal of buck2 pretty shallow. Most of the world is not already heavily invested to bazel, so compatibility is imho overstated; I don't see it being that far-fetched for something like buck2 to leapfrog bazel. That being said, buck2 definitely would need some love from outside meta to really be viable competitor, right now it still feels like half-complete code drop
I agree. The biggest issue with Buck 2 for me (apart from documentation) is the lack of something like bzlmod. There's actually a decent number of modules available for Bazel now: https://registry.bazel.build/all-modules But with Buck2 you're stuck with `http_archive` and vendoring.
Vendoring deps is the only true real sane way for large repos
Re: The next generation of Bazel builds
#10I know there are efforts like starpls (language server for Starlark) but in my experience it really falls short. I think buck2 has type annotations but I kind of hate Python-style types, so I wish we could just use TypeScript :P TypeScript is even better positioned to fill this role now that tsc is being re-written in Go.