Bazel 구성 가능성 2021년 로드맵

문제 신고 소스 보기 1박 · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

최종 인증: 2021년 1월 25일 (업데이트 기록)

담당자: 그레게스트렌

토론: 구성 가능성 로드맵: 토론

이전 로드맵

목표

$ bazel build //:all는 모든 프로젝트와 플랫폼에서 작동합니다.

  • 빌드에는 명령줄 플래그가 필요하지 않습니다.
  • 각 타겟은 자동으로 올바른 설정을 사용합니다 (예: android_binary가 올바른 NDK를 사용).
  • 여러 플랫폼에 맞춰 빌드하기가 쉽습니다.
  • 빌드는 특히 그래프 크기와 작업 캐싱의 확장성이 뛰어납니다.

또한 cquery, Starlark configuration, 및 select():

로드맵

문제의 복잡성에 대한 Google의 최선의 이해를 토대로 한 대략적인 날짜입니다. 개발자 제공 여부를 확인할 수 있습니다 2021년에는 이러한 문제를 줄이는 데 일괄 작업을 할 수 있습니다 ETA는 정확한 기대치에 집중해야 합니다.

플랫폼

2021년 3분기Android 규칙에 따라 새로운 플랫폼 사용 API 진행 중 (#11749)

  • 이는 2021년 초에 Google의 최우선 과제입니다.

2021년 3분기빌드에서 다중 실행을 지원함 플랫폼 진행 중 (#11748)

pausedC++ 규칙은 새로운 platformsfall API를 사용합니다. 진행 중 (#6516)

  • 이는 Android 플랫폼에서 차단됩니다. 간단한 깃발 뒤집기로 켤 수 있습니다.

paused다중 플랫폼 타겟 시작되지 않음

  • 대상이 여러 플랫폼용으로 빌드되어야 한다고 선언할 수 있음
  • 사용자 요청으로 인해 여기에 나열되었습니다.

paused--cpu 및 관련 플래그 지원 중단 및 삭제 시작되지 않음

  • 이는 모든 규칙을 플랫폼으로 마이그레이션하는 것에서 벗어나는 야심 찬 목표입니다.

효율성

2021년실험용 Bazel 모드 캐시 크로스 플랫폼 Java 컴파일 진행 중 (#6526)

  • 멀티 플랫폼 빌드 속도 향상
  • 과소 할당되어 진행 속도가 느림