แผนกลยุทธ์ของ Bazel Build API ปี 2021

วันที่ รายงานปัญหา ดูแหล่งที่มา ตอนกลางคืน · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

ยืนยันครั้งล่าสุด: 09-04-2021 (ประวัติการอัปเดต)

ผู้ติดต่อ: comius

อภิปราย: สร้างแผนกลยุทธ์ด้าน API: การพูดคุย

ขอบเขต

ทีม Build API รับผิดชอบดูแลการใช้งานกฎเนทีฟและ API แบบเนทีฟ ที่ได้สัมผัสกับ Starlark

เป้าหมาย

นำกฎทั้งหมดใน Starlark มาใช้และส่งต่อให้กับทีมที่มีความเชี่ยวชาญ ภาษาใดภาษาหนึ่ง ลบตรรกะเฉพาะภาษาออกจากแกนหลักของ Bazel

กฎ Java

กฎ Java จะเขียนใหม่ไปยัง Starlark ก่อนและทดสอบภายในบน ฐานของโค้ดขนาดใหญ่ หลังจากนั้นระบบจะปล่อยภาพไปยัง Bazel

ไตรมาส 1 ปี 2021

  • ปรับปรุง Java sandwich ทำให้สามารถเขียน Java ที่มีอยู่ใหม่ กฎ เสร็จสิ้น

ไตรมาส 2 ปี 2021

  • ปรับปรุงการรองรับ Starlark สำหรับไลบรารีเนทีฟใน Java อยู่ระหว่างดำเนินการ
  • ปรับปรุงการรองรับปลั๊กอินและ IDE - ข้อเสนอของ java_common การเปลี่ยนโครงสร้างภายในโค้ดทั่วไปของ Java อยู่ระหว่างดำเนินการ
  • กฎ java_library คือ Starlarkified อินเดีย ความคืบหน้า

กลางปี 2021

  • กฎ java_binary และ java_test จะเป็นแบบ Starlarkified
  • กฎ java_import และ java_plugin จะเป็น Starlarkified

ฤดูใบไม้ร่วง 2021

  • การติดดาวของ java_*_proto_library
  • กฎ Java ที่เหลืออยู่จะเป็น Starlarkified: java_package_configuration, java_runtime, java_toolchain

2022

  • การ Starlarkification ของ java_commonโมดูล

กฎ C++

ก่อนที่จะเขียนกฎ C++ ใหม่ใน Starlark จำเป็นต้องมีการล้างข้อมูลภายใน หลังจากนั้นกฎ C++ จะถูกเขียนใหม่เป็น Starlark ทีละส่วนโดยใช้ ฟังก์ชันในตัว API สำหรับกฎ C++ จะไม่สามารถเข้าถึงได้จาก ไฟล์ .bzl จนกว่าจะเขียน cc_module ใหม่ใน Starlark ด้วย

ไตรมาส 1 ปี 2021

  • การรองรับโมดูล Clang, DROPPED*
  • และรวมการสแกน การปรับปรุงประสิทธิภาพที่คาดหวังจาก ทั้ง DROPPED*
  • *เราต้องการข้อมูลมากขึ้นเพื่อประเมินว่าโมดูลต่างๆ เป็นสิ่งที่จำเป็นจริงๆ หรือไม่ เพื่อปรับปรุงประสิทธิภาพ

ไตรมาส 2 ปี 2021

  • กฎ Go ภายในมีการติดดาว IN ความคืบหน้า
  • กฎของ Objective-C ที่เกี่ยวข้องกับ objc_library และ objc_import และโค้ดแบบเนทีฟ กับไฟล์เหล่านั้นได้รับการติดดาว อยู่ระหว่างดำเนินการ

ฤดูใบไม้ร่วง 2021 และเริ่มต้นปี 2022

  • cc_binary, cc_test และ cc_library คือ Starlarkified

2022

  • การติดดาวกฎ C++ อื่นๆ (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

อื่นๆ

กลางปี 2021