หน้านี้มีแหล่งข้อมูลที่จะช่วยคุณใช้ Bazel เพื่อสร้างโปรเจ็กต์ macOS และ iOS โดยจะลิงก์ไปยังบทแนะนำ กฎการสร้าง และข้อมูลอื่นๆ ที่เกี่ยวข้องกับการใช้ Bazel เพื่อสร้างและทดสอบสำหรับแพลตฟอร์มเหล่านั้น
การทำงานกับ Bazel
แหล่งข้อมูลต่อไปนี้จะช่วยให้คุณทำงานกับ Bazel ในโปรเจ็กต์ macOS และ iOS ได้
การย้ายข้อมูลไปยัง Bazel
หากปัจจุบันคุณสร้างโปรเจ็กต์ macOS และ iOS ด้วย Xcode ให้ทำตามขั้นตอน ในคู่มือการย้ายข้อมูลเพื่อเริ่มสร้างโปรเจ็กต์ด้วย Bazel
แอปของ Apple และกฎใหม่
หมายเหตุ: การสร้างกฎใหม่มีไว้สำหรับสถานการณ์การสร้างและการทดสอบขั้นสูง คุณไม่จำเป็นต้องใช้เมื่อเริ่มต้นใช้งาน Bazel
โมดูล ส่วนการกำหนดค่า และผู้ให้บริการต่อไปนี้จะช่วยให้คุณขยายขีดความสามารถของ Bazel เมื่อสร้างโปรเจ็กต์ macOS และ iOS
โมดูล:
ส่วนการกำหนดค่า
ผู้ให้บริการ
การเลือก Xcode
หากบิลด์ต้องใช้ Xcode Bazel จะเลือกเวอร์ชันที่เหมาะสมตามแฟล็ก --xcode_config และ --xcode_version --xcode_config ใช้
ชุดเวอร์ชัน Xcode ที่พร้อมใช้งานและตั้งค่าเวอร์ชันเริ่มต้นหากไม่ได้ส่ง --xcode_version ค่าเริ่มต้นนี้จะถูกลบล้างโดยแฟล็ก --xcode_version ตราบใดที่ตั้งค่าเป็นเวอร์ชัน Xcode ที่แสดงในเป้าหมาย --xcode_config
หากไม่ส่ง --xcode_config Bazel จะใช้ XcodeVersionConfig ที่สร้างขึ้นโดยอัตโนมัติซึ่งแสดงถึง
เวอร์ชัน Xcode ที่พร้อมใช้งานในเครื่องโฮสต์ เวอร์ชันเริ่มต้นคือ
Xcode เวอร์ชันที่พร้อมใช้งานล่าสุด ซึ่งเหมาะสำหรับการดำเนินการในพื้นที่
หากคุณทำการสร้างจากระยะไกล คุณควรตั้งค่า --xcode_config เป็น
xcode_config
เป้าหมายที่มีแอตทริบิวต์ versions เป็นรายการของเป้าหมายที่พร้อมใช้งานจากระยะไกล
xcode_version
และมีแอตทริบิวต์ default เป็นหนึ่งในเป้าหมายต่อไปนี้
xcode_versions
หากใช้การดำเนินการแบบไดนามิก คุณควรตั้งค่า --xcode_config เป็นเป้าหมาย xcode_config
ที่มีแอตทริบิวต์ remote_versions เป็นเป้าหมาย available_xcodes
ที่มี Xcode เวอร์ชันที่พร้อมใช้งานจากระยะไกล และมีแอตทริบิวต์ local_versions เป็นเป้าหมาย available_xcodes
ที่มี Xcode เวอร์ชันที่พร้อมใช้งานในเครื่อง สำหรับ local_versions
คุณอาจต้องการใช้
@local_config_xcode//:host_available_xcodesที่สร้างขึ้นโดยอัตโนมัติ Xcode เวอร์ชันเริ่มต้นคือเวอร์ชันล่าสุดที่พร้อมใช้งานร่วมกัน หากมี ไม่เช่นนั้นจะเป็นค่าเริ่มต้นของเป้าหมาย local_versions หากต้องการใช้local_versionsค่าเริ่มต้น
เป็นค่าเริ่มต้น ให้ส่ง --experimental_prefer_mutual_default=false