ยืนยันครั้งล่าสุด: 09-04-2021 (ประวัติการอัปเดต)
ผู้ติดต่อ: comius
พูดคุย: แผนกลยุทธ์ของ Build API: การพูดคุย
ขอบเขต
ทีม Build API จะดูแลการติดตั้งใช้งานกฎเนทีฟและ API เนทีฟที่แสดงต่อ Starlark
เป้าหมาย
ใช้กฎทั้งหมดใน Starlark และส่งต่อให้ทีมที่เชี่ยวชาญภาษานั้นๆ นำตรรกะเฉพาะภาษาออกจากส่วนกลางของ Bazel
กฎ Java
ก่อนอื่น ระบบจะเขียนกฎ Java ใหม่เป็น Starlark และทดสอบภายในกับฐานโค้ดขนาดใหญ่ หลังจากนั้นจะมีการเผยแพร่ไปยัง Bazel
ไตรมาส 1 ปี 2021
- ปรับปรุง Java sandwich ซึ่งทําให้เขียนกฎ Java ที่มีอยู่ใหม่ได้ เสร็จ
ไตรมาส 2 ปี 2021
- ปรับปรุงการรองรับ Starlark สําหรับไลบรารีแบบเนทีฟใน Java อยู่ระหว่างดำเนินการ
- ปรับปรุง
java_common
การรองรับปลั๊กอินและ IDE - พร็อพเพอร์ตี้การปรับโครงสร้างทั่วไปของ Java อยู่ระหว่างดำเนินการ - กฎ java_library เป็นรูปแบบ Starlark อยู่ระหว่างดำเนินการ
กลางปี 2021
- กฎ java_binary และ java_test อยู่ในรูปแบบ Starlark
- กฎ java_import และ java_plugin เปลี่ยนเป็นรูปแบบ Starlark แล้ว
ฤดูใบไม้ร่วงปี 2021
- การเปลี่ยน java_*_proto_library เป็น Starlark
- กฎ Java ที่เหลืออยู่จะเปลี่ยนรูปแบบเป็น Starlark ดังนี้ java_package_configuration, java_runtime, java_toolchain
2022
- การเปลี่ยนโมดูล java_common เป็น Starlark
กฎ C++
ก่อนที่จะเขียนกฎ C++ ใหม่ใน Starlark ได้ ต้องมีการล้างข้อมูลภายในบางอย่าง หลังจากนั้น ระบบจะเขียนกฎ C++ ใหม่เป็น Starlark ทีละส่วนโดยใช้ฟังก์ชันการทำงานในตัว API สําหรับกฎ C++ จะไม่สามารถเข้าถึงได้จากไฟล์ .bzl จนกว่าจะมีการเขียน cc_module ใหม่ใน Starlark ด้วย
ไตรมาส 1 ปี 2021
- การรองรับโมดูล Clang ยกเลิก*
- และการสนับสนุนรวมการสแกน การปรับปรุงประสิทธิภาพที่คาดไว้จากทั้ง DROPPED*
- *เราต้องการข้อมูลเพิ่มเติมเพื่อประเมินว่าจำเป็นต้องใช้ข้อบังคับเพื่อปรับปรุงประสิทธิภาพหรือไม่
ไตรมาส 2 ปี 2021
- กฎ Go ภายในเปลี่ยนเป็น Starlark อยู่ระหว่างดำเนินการ
- กฎ Objective-C objc_library และ objc_import รวมถึงโค้ดเนทีฟที่เกี่ยวข้องได้รับการแปลงเป็น Starlark แล้ว อยู่ระหว่างดำเนินการ
ฤดูใบไม้ร่วงปี 2021 และต้นปี 2022
- cc_binary, cc_test และ cc_library ได้รับการแปลงเป็น Starlark
2022
- การเปลี่ยนกฎ C++ อื่นๆ เป็น Starlark (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 เป็น Starlark
อื่นๆ
กลางปี 2021
- องค์ประกอบสามารถส่งต่อองค์ประกอบอื่นๆ - พร็อพเพอร์ตี้ องค์ประกอบที่ส่งต่อองค์ประกอบอื่นๆ อยู่ระหว่างดำเนินการ
- ปรับปรุงเฟรมเวิร์กการทดสอบ Starlark