Bazel 구성 가능성 2021년 로드맵

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

담당자: 그레스트렌

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

이전 로드맵

목표

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

  • 빌드에는 명령줄 플래그가 필요하지 않습니다.
  • 각 타겟은 자동으로 올바른 설정을 사용합니다 (예: android_binary에서 올바른 NDK 사용).
  • 여러 플랫폼에 맞춰 쉽게 빌드할 수 있습니다.
  • 빌드, 특히 w.r.t 그래프 크기 및 작업 캐싱이 잘 확장됩니다.

cquery, Starlark configuration, select()도 지원합니다.

로드맵

날짜는 문제의 복잡성과 개발자 가용성에 대한 Google의 이해를 토대로 한 대략적인 날짜입니다. 2021년에는 한 번에 더 적은 수의 프로젝트에 더 많은 노력을 집중할 계획입니다. 정확한 기대치를 위해 능동적으로 우선순위가 높은 작업에 대해서만 ETA를 설정합니다.

플랫폼

2021년 3분기Android 규칙에서 새로운 platforms API 사용 중 (#11749)

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

2021년 3분기빌드는 여러 실행 플랫폼을 지원합니다. 진행 중 (#11748)

일시중지됨C++ 규칙은 새 platformsfall API 를 사용 중 (#6516)

  • Android 플랫폼에서 차단됩니다. 간단한 깃발 플립만으로 이 기능을 활성화할 수 있습니다.

일시중지됨멀티 플랫폼 대상 시작되지 않음

  • 대상이 여러 플랫폼에 빌드해야 한다고 선언하도록 허용
  • 사용자 요청으로 인해 여기에 표시되었습니다.

paused--cpu 및 관련 플래그를 지원 중단하고 삭제합니다. 시작되지 않음

  • 이는 모든 규칙을 플랫폼으로 이전하는 것에서 벗어나는 바람직한 목표입니다.

효율성

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

  • 다중 플랫폼 빌드 속도 개선
  • 과소할당되므로 진행 속도가 느립니다.