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

รายงานปัญหา ดูแหล่งที่มา /3} /4} {3/4} {3/4} {3/4} {3/4} /4.

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

ผู้ติดต่อ: gregestren

อภิปราย: แผนกลยุทธ์ด้านการกำหนดค่า: การพูดคุย

แผนกลยุทธ์ก่อนหน้า

เป้าหมาย

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

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

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

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

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

แพลตฟอร์ม

ไตรมาส 3 ปี 2021กฎของ Android ใช้ API แพลตฟอร์ม ใหม่ในขณะนี้ (#11749)

  • ซึ่งถือเป็นสิ่งสำคัญที่สุดสำหรับช่วงต้นปี 2021

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

หยุดชั่วคราวกฎ C++ ใช้ platformsfall API อยู่ระหว่างดำเนินการ (#6516)

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

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

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

pausedเลิกใช้งานและนำ --cpu และ Flag ที่เกี่ยวข้องออก ยังไม่เริ่ม

  • นี่คือเป้าหมายที่เป็นแรงบันดาลใจที่จะออกจากการย้ายกฎทั้งหมดไปยังแพลตฟอร์ม

ประสิทธิภาพ

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

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