최종 확인: 2021년 4월 9일(업데이트 내역)
담당자: 코미우스
범위
Build API팀은 네이티브 규칙 구현과 Starlark에 노출된 네이티브 API를 다룹니다.
목표
모든 규칙을 Starlark로 구현하고 특정 언어에 전문적인 팀에 전달합니다. Bazel 핵심에서 언어별 로직을 삭제합니다.
Java 규칙
Java 규칙은 먼저 Starlark로 다시 작성되고 대규모 코드베이스에서 내부적으로 테스트됩니다. 그런 다음 Bazel에 출시됩니다.
2021년 1분기
- 기존 Java 규칙을 재작성할 수 있도록 Java 샌드위치를 개선했습니다. 완료
2021년 2분기
- Java의 네이티브 라이브러리에 대한 Starlark 지원을 개선했습니다. 진행 중
- 플러그인 및 IDE에 대한
java_common
지원 개선 - 제안서 Java 공통 리팩터링 진행 중 - java_library 규칙이 Starlark로 변환되었습니다. 진행 중
2021년 중반
- java_binary 및 java_test 규칙이 Starlark로 변환되었습니다.
- java_import 및 java_plugin 규칙이 Starlark로 변환되었습니다.
2021년 가을
- java_*_proto_library의 Starlarkification
- 나머지 Java 규칙(java_package_configuration, java_runtime, java_toolchain)은 Starlark로 변환됩니다.
2022
- java_common 모듈의 Starlarkification
C++ 규칙
Starlark에서 C++ 규칙을 다시 작성하려면 먼저 몇 가지 내부 정리가 필요합니다. 그런 다음 빌인 기능을 사용하여 C++ 규칙이 Starlark로 하나씩 재작성됩니다. cc_module이 Starlark에서도 재작성될 때까지는 C++ 규칙의 API를 .bzl 파일에서 액세스할 수 없습니다.
2021년 1분기
- Clang 모듈 지원, 지원 중단됨*
- 스캔 포함 지원, 두 가지 모두에서 예상되는 성능 개선 DROPPED*
- *모듈이 성능 개선에 실제로 필요한지 평가하려면 더 많은 데이터가 필요합니다.
2021년 2분기
- 내부 Go 규칙이 Starlark로 변환됨 진행 중
- Objective-C 규칙 objc_library 및 objc_import 및 이와 관련된 네이티브 코드가 Starlark로 변환됨 진행 중
2021년 가을 및 2022년 초
- cc_binary, cc_test, cc_library가 Starlark로 변환됨
2022
- 다른 C++ 규칙의 Starlarkification (fdo_profile, cc_import, cc_toolchain, cc_toolchain_suite, fdo_prefetch_hints, cc_toolchain_alias, cc_libc_top_alias, cc_host_toolchain_alias, +2)
- cc_common 모듈의 Starlarkification
기타
2021년 중반
- 측면이 다른 측면을 전파할 수 있습니다. 제안서 다른 측면을 전파하는 측면 진행 중
- Starlark 테스트 프레임워크 개선