buck2
allocative
Our great sponsors
buck2 | allocative | |
---|---|---|
31 | 2 | |
3,287 | 117 | |
2.3% | 10.3% | |
10.0 | 7.5 | |
6 days ago | 17 days ago | |
Rust | Rust | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
buck2
-
Tech Debt: My Rust Library Is Now a CDO
https://buck2.build/ https://github.com/facebook/buck2
Rust support is also rather good ;) https://github.com/facebookincubator/reindeer
-
Things I learned while building projects with NX
Buck 2 by Facebook
-
Declarative Gradle is a cool thing I am afraid of: Maven strikes back
NOTE: I won’t mention SBT and Leiningen here because, with all due respect, they are niche build tools. I also won’t discuss Kobalt for the same reason (besides, it’s no longer actively maintained). Additionally, I won’t touch upon Bazel and Buck in this context, mainly because I’m not very familiar with them. If you have insights or comments about these tools, please feel free to share them in the comments 👇
-
Reason to use other Build Tool than Make?
There's a new build system which works on similar ideas to buck: https://buck2.build/
-
Hello r/Rust! We are Meta Engineers who created the Open Source Buck2 Build System! Ask us anything! [Mod approved]
I don't think all these pieces are open source yet, but https://github.com/facebook/buck2/blob/main/prelude/rust/rust-analyzer/resolve_deps.bxl is a snippet that is used to drive Rust Analyzer
- [Buck2] Consider WASM Instead of Starlark
- Buck2
-
Buck2: Our open source build system
We have a small example project that demonstrates what that would look like with buck2: https://github.com/facebook/buck2/tree/main/examples/bootstrap
- Buck2 from Facebook
-
Build faster with Buck2: Our open source build system
There are a few references to NixOS on the code/issues.[0] I wonder what Meta's use case is for NixOS.
[0] https://github.com/facebook/buck2/search?q=nixos&type=issues
allocative
-
Meta Open Sources Buck2: Large Scale Rust-based Build System
2x Build time speed up, flexible across languages. Other potentially useful tooling they used to build it: Text based UI Builder: https://developers.facebook.com/blog/post/2022/07/21/superconsole/ Memory Profiler: https://github.com/facebookexperimental/allocative Gazebo Rust Utilities: https://developers.facebook.com/blog/post/2021/06/29/rust-nibbles-gazebo-prelude/ Not associated with Meta, just thought it was cool!
-
Buck2: preview of the Rust rewrite of Buck1, a Bazel-like build system created by Facebook
It's also available stand alone - https://github.com/facebookexperimental/allocative. The idea is you annotate how much memory each type uses, and then can get readable memory profiles in terms of the Rust types you understand.
What are some alternatives?
turbo - Incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust – including Turbopack and Turborepo.
Bazel - a fast, scalable, multi-language and extensible build system
HHVM - A virtual machine for executing programs written in Hack.
Vcpkg - C++ Library Manager for Windows, Linux, and MacOS
rfcs - RFC process for Bytecode Alliance projects
PyOxidizer - A modern Python application packaging and distribution tool
buck2-prelude - Prelude for the Buck2 project
minio - The Object Store for AI Data Infrastructure
hello-monorepo-bazel-example - Bazel example polyglot (rust, c++, gRPC, docker) monorepo
depot - @ghuntley's personal monorepo [Moved to: https://github.com/ghuntley/ghuntley]
librunecoral
reduze - Zig program reduction is upstream in compiler due to various parser + formatter interactions.