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

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

ผู้ติดต่อ: gregestren

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

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

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

เป้าหมาย

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

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

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

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

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

แพลตฟอร์ม

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

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

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

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

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

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

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

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

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

ประสิทธิภาพ

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

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