Bazel 7 출시

12월 12, 2023

Bazel 7이 출시되었습니다. Bazel은 빠르고 정확한 빌드를 위한 Google의 오픈소스 빌드 시스템입니다. Android와 iOS 플랫폼 둘 다를 위한 클라이언트 애플리케이션을 포함해 클라이언트와 서버 소프트웨어 둘 다를 개발하기 위한 지원 기능이 내장되어 있습니다. 또한 자체적인 빌드 규칙을 개발하는 데 사용할 수 있는 확장 가능한 프레임워크도 제공합니다. Bazel은 Google 검색, GMail, Google 문서를 포함해 거의 모든 Google 제품을 빌드합니다.

Bazel 7의 새로운 기능

Bazel 7은 장기적 지원(LTS) 트랙의 최신 주요 릴리스이며, 다음을 포함합니다.

Bzlmod: 이제 Bazel의 새로운 모듈형 외부 종속성 관리 시스템인 Bzlmod가 기본적으로 사용됩니다(즉, --enable_bzlmod 기본값이 true임). 프로젝트에 MODULE.bazel 파일이 없는 경우 Bazel이 자동으로 빈 파일을 생성합니다. 기존 WORKSPACE 메커니즘은 새로운 Bzlmod 관리 시스템과 함께 계속 작동합니다. Bazel 6 이후 변경된 사항과 Bazel 8 및 9에서 예정된 기능에 대해 자세히 알아보세요.

BwoB(Build without the Bytes): 이제는 원격 실행을 사용하는 빌드에 대해 BwoB가 기본적으로 사용됩니다 (즉, --remote_download_outputs 기본값이 toplevel임). Bazel은 더 이상 원격 서버에서 중간 출력을 다운로드하지 않고 요청된 최상위 대상의 출력만 다운로드하게 됩니다. 이를 통해 원격 빌드 성능이 크게 향상됩니다. BwoB에 대해 자세히 알아보세요.

병합된 분석 및 실행(Skymeld): 프로젝트 Skymeld는 분석 단계와 실행 단계 사이의 경계를 제거하고 분석이 완료되는 즉시 대상을 독립적으로 실행할 수 있도록 함으로써 다중 대상 빌드 성능의 향상을 목표로 합니다.

Android 및 C++용 플랫폼 기반 툴체인 결정: 이 변경은 모든 규칙 집합에서 툴체인 결정 API를 간소화하여 언어별 플래그의 필요성을 없앨 수 있습니다. 또한 Android 및 C++ 규칙이 다른 규칙 집합과 동일한 툴체인 결정 논리를 사용하도록 하여 기술적 부채도 제거합니다. Android 개발자를 위한 자세한 내용은 Android 플랫폼 공지 사항에서 확인할 수 있습니다.

다음 단계

Bazel 7의 전체 출시 노트를 읽어보세요. Bazel 8을 향해 함께 협력하는 과정도 계속 관심을 가지고 지켜봐 주세요.

질문이나 의견이 있거나 개발한 결과물을 공유하고 싶다면 product@bazel.build로 연락해 주세요. 여러분의 이야기를 듣고 싶습니다!