최종 확인: 2021년 1월 25일 (업데이트 기록)
담당자: 그레게스트렌
논의: 구성 가능성 로드맵: 논의
이전 로드맵
목표
$ bazel build //:all
는 모든 프로젝트와 플랫폼에서 바로 작동합니다.
- 빌드에는 명령줄 플래그가 필요하지 않습니다.
- 각 타겟은 올바른 설정을 자동으로 사용합니다 (예:
android_binary
는 올바른 NDK를 사용함). - 여러 플랫폼을 위해 쉽게 빌드할 수 있습니다.
- 특히 그래프 크기 및 작업 캐싱과 관련하여 빌드 확장성이 좋습니다.
cquery
, Starlark
configuration
, select()
도 지원됩니다.
로드맵
날짜는 문제의 복잡성과 개발자 가용성에 대한 Google의 최적의 이해를 기반으로 한 대략적인 추정치입니다. 2021년에는 한 번에 진행하는 프로젝트 수를 줄여 더 많은 노력을 기울일 예정입니다. 정확한 기대치를 위해 적극적으로 우선순위가 지정된 작업에 대해서만 ETA를 설정합니다.
플랫폼
2021년 3분기Android 규칙에서 새로운 플랫폼 API 사용 진행 중 (#11749)
- 이는 2021년 초의 최우선 과제입니다.
2021년 3분기여러 실행 플랫폼을 지원하는 빌드 진행 중 (#11748)
일시중지됨C++ 규칙에서 새 platformsfall API 사용 진행 중 (#6516)
- Android 플랫폼에서는 차단됩니다. 간단한 플래그 전환으로 이 기능을 사용 설정할 수 있습니다.
일시중지됨멀티 플랫폼 타겟 시작되지 않음
- 타겟이 여러 플랫폼용으로 빌드해야 한다고 선언하도록 허용
- 사용자 요청으로 인해 여기에 나열됨
일시중지됨--cpu
및 관련 플래그 지원 중단 및 삭제
시작되지 않음
- 이는 모든 규칙을 플랫폼으로 이전하는 데서 비롯되는 실질적인 목표입니다.
효율성
2021년실험용 Bazel 모드는 교차 플랫폼 Java 컴파일을 캐시합니다 진행 중 (#6526)
- 다중 플랫폼 빌드 속도 개선
- 할당이 부족하여 진행이 느림