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

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

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

ผู้ติดต่อ: gregestren

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

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

เป้าหมาย

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

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

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

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

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

แพลตฟอร์ม

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

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

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

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

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

pausedเป้าหมายหลายแพลตฟอร์ม ยังไม่เริ่ม

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

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

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

ประสิทธิภาพ

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

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