Meta、新しいBuck2ビルドシステムをオープンソース化
(engineering.fb.com)- Rustで書かれた、より高速で効率的な大規模ビルドシステム
- Buck1やBazelなどといくつかの共通点を持つが、Buck1比で2倍以上高速(Meta社内で既に1日100万件以上のビルドを処理中)
- コアと言語向けルールを完全に分離。並列処理を向上させ、リモート実行および仮想ファイルシステムと連携
- 設計原則
- ビルドシステムのコアは言語関連ルールをまったく知らないよう分離して設計
- コアはRustで開発され、言語ルールはStarlark(Pythonの方言)で記述
- ビルドシステムは「single incremental dependency graph」で動作
- ルールAPIは性能のための高度な機能を含むよう設計
- オープンソース版は社内版とほぼ同一
- リモート実行と連携するよう作られており、Bazelと同じAPIを使用し、Buildbarn/EngFlowなどでリモート実行をテスト
- 仮想ファイルシステムと連携。Saplingベースのファイルシステムをサポート(EdenFS)
まだコメントはありません。