หน้านี้จะให้ข้อมูลเกี่ยวกับวิธีจัดการความเข้ากันได้แบบย้อนหลัง รวมถึงการย้ายข้อมูลจากรุ่นหนึ่งไปยังอีกรุ่นหนึ่งและวิธีสื่อสาร การเปลี่ยนแปลงที่เข้ากันไม่ได้
Bazel กำลังพัฒนา เวอร์ชันย่อยที่เปิดตัวโดยเป็นส่วนหนึ่งของLTS Major เวอร์ชัน จะเข้ากันได้แบบย้อนหลังอย่างสมบูรณ์ LTS หลักรายการใหม่ รุ่นอาจมีการเปลี่ยนแปลงที่ไม่สามารถใช้ร่วมกันได้ซึ่งต้องใช้ความพยายามในการย้ายข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบการเผยแพร่ของ Bazel ได้ที่ หน้าโมเดล
สรุป
- ขอแนะนำให้ใช้แฟล็ก
--incompatible_*
สำหรับการเปลี่ยนแปลงที่ส่งผลกับส่วนอื่นในระบบ - สำหรับการแฟล็ก
--incompatible_*
ทุกๆ รายการ ปัญหา GitHub จะอธิบายการเปลี่ยนแปลงที่เกิดขึ้นกับ การทำงานและมีจุดประสงค์เพื่อเป็นสูตรในการย้ายข้อมูล - ขอแนะนำให้ใช้แฟล็กที่ใช้ร่วมกันไม่ได้เพื่อพอร์ตไปยัง LTS ล่าสุด ปล่อยโดยไม่ต้องเปิดใช้การตั้งค่าสถานะโดยค่าเริ่มต้น
- API และลักษณะการทำงานที่ป้องกันด้วยแฟล็ก
--experimental_*
อาจเปลี่ยนแปลงได้ทุกเมื่อ - ไม่เรียกใช้บิลด์เวอร์ชันที่ใช้งานจริงด้วย
--experimental_*
หรือ--incompatible_*
วิธีปฏิบัติตามนโยบายนี้
- สำหรับผู้ใช้ Bazel - วิธีอัปเดต Bazel
- สำหรับผู้ร่วมให้ข้อมูล - แนวทางปฏิบัติแนะนำสำหรับการเปลี่ยนแปลงที่เข้ากันไม่ได้
- สำหรับผู้จัดการรุ่น - วิธีอัปเดตป้ายกำกับปัญหาและรุ่น
ฟังก์ชันการทำงานที่เสถียรคืออะไร
โดยทั่วไป ระบบจะพิจารณา API หรือลักษณะการทำงานที่ไม่มี Flag --experimental_...
ที่เสถียรและมีการรองรับใน Bazel
ซึ่งรวมถึงเนื้อหาต่อไปนี้
- ภาษาและ API ของ Starlark
- กฎที่มาพร้อมกับ Bazel
- Bazel API เช่น Remote Execution API หรือ Build Event Protocol
- ธงและความหมายของธง
การเปลี่ยนแปลงและสูตรการย้ายข้อมูลที่ใช้ร่วมกันไม่ได้
ทุกการเปลี่ยนแปลงที่เข้ากันไม่ได้ในรุ่นใหม่ ทีม Bazel มีเป้าหมายที่จะ
สูตรการย้ายข้อมูลที่ช่วยคุณอัปเดตโค้ด (BUILD
และ .bzl
ไฟล์
รวมถึงการใช้ Bazel ในสคริปต์ การใช้ Bazel API และอื่นๆ)
การเปลี่ยนแปลงที่ใช้ร่วมกันไม่ได้ควรมีแฟล็ก --incompatible_*
ที่เกี่ยวข้องและ
GitHub ที่ตรงกัน
ขอแนะนำให้ย้ายแฟล็กที่ใช้ร่วมกันไม่ได้และการเปลี่ยนแปลงที่เกี่ยวข้องกลับไปยัง LTS รุ่นล่าสุดโดยไม่ต้องเปิดใช้การตั้งค่าสถานะโดยค่าเริ่มต้น วิธีนี้ช่วยให้ผู้ใช้ เพื่อย้ายข้อมูลสำหรับการเปลี่ยนแปลงที่เข้ากันไม่ได้ก่อนที่จะมีการเปิดตัว LTS รุ่นถัดไป พร้อมใช้งาน
การสื่อสารการเปลี่ยนแปลงที่ไม่สามารถใช้ร่วมกันได้
แหล่งข้อมูลหลักของข้อมูลเกี่ยวกับการเปลี่ยนแปลงที่เข้ากันไม่ได้คือปัญหาของ GitHub มีเครื่องหมาย "ไม่สามารถใช้ร่วมกันได้" กำกับอยู่ ป้ายกำกับ [label]
สำหรับการเปลี่ยนแปลงที่เข้ากันไม่ได้ทุกรายการ ปัญหาจะระบุสิ่งต่อไปนี้
- ชื่อแฟล็กที่ควบคุมการเปลี่ยนแปลงที่เข้ากันไม่ได้
- คำอธิบายฟังก์ชันการทำงานที่มีการเปลี่ยนแปลง
- สูตรการย้ายข้อมูล
เมื่อการเปลี่ยนแปลงที่ไม่สามารถใช้ร่วมกันได้พร้อมสำหรับการย้ายข้อมูลโดยใช้ Bazel ที่ HEAD
(ด้วยเหตุนี้ เมื่อมีการเปิดตัว Bazel รุ่นถัดไป) ควรมีการทำเครื่องหมาย
ป้ายกำกับ migration-ready
ปัญหาการเปลี่ยนแปลงที่ใช้ร่วมกันไม่ได้จะปิดเมื่อ
ธงที่ใช้ร่วมกันไม่ได้ถูกพลิกที่ HEAD