Meta, 새로운 Buck2 빌드 시스템을 오픈소스로 공개
(engineering.fb.com)- Rust로 작성된 더 빠르고 효율적인 대규모 빌드 시스템
- Buck1 및 Bazel등과 일부 공통점을 가지지만, Buck1 대비 2배이상 빠름(메타 내부에서 이미 하루 1백만 빌드 이상 처리중)
- 코어와 언어용 규칙을 완전히 분리. 병렬처리를 향상시키고 원격 실행 및 가상 파일시스템과 연동
- 디자인 원칙
- 빌드 시스템 코어는 언어 관련한 규칙을 전혀 모르도록 분리하여 설계
- 코어는 Rust로 개발되었으며, 언어 룰은 Starlark(파이썬의 Dialect)로 작성
- 빌드시스템은 "single incremental dependency graph"로 구동
- 룰 API는 성능을 위한 고급 기능을 포함하도록 설계됨
- 오픈소스 릴리즈가 내부 버전과 거의 동일
- 원격 실행과 연동되도록 작성. Bazel 과 같은 API를 사용하며, Buildbarn/EngFlow 등으로 원격실행 테스트
- 가상 파일 시스템과 연동. Sapling-based 파일시스템 지원 (EdenFS)