Buck2 is Meta’s open-source large scale build system and it is now publicly available through both the Buck2 website and on GitHub.
This open-source offering is a from-scratch rewrite of Buck, though it does share some commonalities with it and other build systems such as Bazel. Buck2 completely separates the core and language-specific rules.
This separation means that the rules are easier to change and understand. The core of Buck2 is written in Rust, but its language rules are written in Starlark.
According to Meta, it also has increased parallelism, integration with remote executing and virtual file systems, as well as a redesigned console output. This is all intended to help developers spend less time waiting and more time iterating code.
Additionally, the rules API is designed to contain advanced features for performance along with dynamic dependency features geared towards expressibility. These features are also restricted so users can be sure that other properties are not harmed.
Buck2 is also intended to integrate well with remote execution and offers users the ability to run actions on remote machines.
It is also written to integrate with virtual file systems so the entire repository is not all checked at once, but grabbed on demand as specific files are accessed.
Meta has expressed that this project is not yet polished and is still currently being developed, it is set to be properly announced in the coming months. To learn more, visit the GitHub page.