แผนกลยุทธ์ด้านการกำหนดค่า Bazel ปี 2021

ตรวจสอบล่าสุดเมื่อ 25-01-2021 (ประวัติการอัปเดต)

ผู้ติดต่อ: gregestren

สนทนาเรื่อง: แผนการใช้งานด้านการกำหนดค่า: การสนทนา

แผนการใช้งานก่อนหน้า

  • 2020 (พร้อมการตรวจสอบเมื่อสิ้นปี)
  • 2019 (พร้อมการตรวจสอบเมื่อสิ้นปี)
  • 2018

เป้าหมาย

$ bazel build //:all ใช้งานได้ สำหรับทุกโปรเจ็กต์และทุกแพลตฟอร์ม

  • บิวด์ไม่จำเป็นต้องใช้แฟล็กบรรทัดคำสั่ง
  • แต่ละเป้าหมายจะใช้การตั้งค่าที่ถูกต้องโดยอัตโนมัติ (เช่น android_binary ใช้ NDK ที่เหมาะสม)
  • สร้างสำหรับหลายแพลตฟอร์มได้ง่าย
  • บิวด์ปรับขนาดได้ดี โดยเฉพาะอย่างยิ่งในเรื่องขนาดกราฟและการแคชการดำเนินการ

นอกจากนี้ เรายังรองรับ cquery, Starlark configuration, และ select() ด้วย

แผนการใช้งาน

วันที่เป็นค่าประมาณตามความเข้าใจที่ดีที่สุดของเราเกี่ยวกับความซับซ้อนของปัญหาและความพร้อมของนักพัฒนาซอฟต์แวร์ ในปี 2021 เราตั้งใจที่จะมุ่งเน้นความพยายามมากขึ้นกับโปรเจ็กต์จำนวนน้อยลงในคราวเดียว เราจะกำหนดเวลาโดยประมาณเฉพาะงานที่ได้รับการจัดลำดับความสำคัญอย่างจริงจังเท่านั้น เพื่อให้การคาดการณ์มีความถูกต้อง

แพลตฟอร์ม

ไตรมาส 3 ปี 2021กฎ Android ใช้ API ของ newplatforms กำลังดำเนินการ (#11749)

  • นี่คือสิ่งที่เราให้ความสำคัญเป็นอันดับแรกในช่วงต้นปี 2021

ไตรมาส 3 ปี 2021บิวด์รองรับ แพลตฟอร์มการดำเนินการ หลายรายการ กำลังดำเนินการ (#11748)

หยุดชั่วคราวกฎ C++ ใช้ API ของ แพลตฟอร์มใหม่ กำลังดำเนินการ (#6516)

  • ฟีเจอร์นี้ถูกบล็อกในแพลตฟอร์ม Android เราสามารถเปิดฟีเจอร์นี้ได้ด้วยการเปลี่ยนแฟล็กง่ายๆ

หยุดชั่วคราวเป้าหมายหลายแพลตฟอร์ม ยังไม่เริ่ม

  • อนุญาตให้เป้าหมายประกาศว่าควรสร้างสำหรับหลายแพลตฟอร์ม
  • แสดงที่นี่เนื่องจากมีผู้ใช้ขอ

หยุดชั่วคราวเลิกใช้งานและนำ --cpu และแฟล็กที่เกี่ยวข้องออก ยังไม่เริ่ม

  • นี่คือเป้าหมายที่ต้องการซึ่งเกิดขึ้นจากการย้ายกฎทั้งหมดไปยังแพลตฟอร์ม

ประสิทธิภาพ

2021โหมดทดลองของ Bazel จะแคช การคอมไพล์ Java ข้ามแพลตฟอร์ม กำลังดำเนินการ (#6526)

  • ปรับปรุงความเร็วในการสร้างหลายแพลตฟอร์ม
  • มีการจัดสรรทรัพยากรน้อยเกินไป ความคืบหน้าจึงช้า