Bazel Build API 2021 로드맵

<ph type="x-smartling-placeholder"></ph> 문제 신고 소스 보기 1박 · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

최종 확인: 2021년 4월 9일 (업데이트 기록)

담당자: comius

토론: API 로드맵 빌드: 토론

범위

Build API팀에서 네이티브 규칙 구현과 네이티브 API를 다룹니다. 스타라크에 노출됐어.

목표

Starlark에서 모든 규칙을 구현하고 전문화된 팀에 인계 확인할 수 있습니다. Bazel의 핵심에서 언어별 로직을 삭제합니다.

Java 규칙

Java 규칙은 먼저 Starlark에 다시 작성되고 빌드할 수 있습니다 그런 다음 Bazel에 공개됩니다.

2021년 1분기

  • 기존 Java를 재작성할 수 있도록 Java 샌드위치 개선 있습니다. 완료

2021년 2분기

  • Java의 네이티브 라이브러리에 대한 Starlark 지원을 개선합니다. 진행 중
  • 플러그인 및 IDE를 위한 java_common 지원 개선 - 제안서 Java 일반 리팩터링. 진행 중
  • java_library 규칙은 Starlarkified입니다. 인도 달성률

2021년 중반

  • java_binary 및 java_test 규칙은 Starlarkified입니다.
  • java_import 및 java_plugin 규칙은 Starlarkified입니다.

2021년 가을

  • java_*_proto_library의 별표화
  • 나머지 자바 규칙은 Starlarkified(java_package_configuration, java_runtime, java_ Toolkit에 해당합니다.

2022

  • java_common 모듈의 별표화

C++ 규칙

Starlark에서 C++ 규칙을 다시 작성하기 전에 몇 가지 내부 정리가 필요합니다. 그 후 C++ 규칙은 내장 기능을 제공합니다. C++ 규칙용 API는 .bzl 파일도 Starlark에서 다시 작성할 수 있습니다.

2021년 1분기

  • Clang 모듈 지원, 삭제됨*
  • 스캔 지원 지원, 애플리케이션 배포 시의 예상 성능 개선이 둘 다 삭제됨*
  • *모듈이 실제로 필요한 것이 맞는지 평가하려면 더 많은 데이터가 필요합니다. 성능을 개선할 수 있습니다

2021년 2분기

  • 내부 Go 규칙IN에서 별표표시됨 달성률
  • Objective-C 규칙 objc_library 및 objc_import 및 네이티브 코드 관련 별을 진행 중으로

2021년 가을부터 2022년 초

  • cc_binary, cc_test, cc_library는 Starlarkified입니다.

2022

  • 다른 C++ 규칙 (fdo_profile, cc_import, cc_툴체인, cc_툴체인_스위트, fdo_prefetch_hints, cc_toolchain_alias, cc_libc_top_alias, cc_host_toolchain_alias, +2)
  • cc_common 모듈의 별표화

기타

2021년 중반