หน้านี้มีแหล่งข้อมูลที่จะช่วยให้คุณใช้ Bazel เพื่อสร้างโปรเจ็กต์ macOS และ iOS ได้ ซึ่งลิงก์ไปยังบทแนะนำ กฎการสร้าง และข้อมูลอื่นๆ สำหรับการใช้ Bazel เพื่อสร้างและทดสอบสำหรับแพลตฟอร์มเหล่านั้นโดยเฉพาะ
การทำงานกับ Bazel
แหล่งข้อมูลต่อไปนี้จะช่วยคุณทำงานกับ Bazel ในโปรเจ็กต์ macOS และ iOS
การย้ายข้อมูลไปยัง Bazel
หากปัจจุบันคุณสร้างโปรเจ็กต์ macOS และ iOS ด้วย Xcode ให้ทำตามขั้นตอนในคู่มือการย้ายข้อมูลเพื่อเริ่มสร้างโปรเจ็กต์ด้วย Bazel
แอปของ Apple และกฎใหม่
หมายเหตุ: การสร้างกฎใหม่มีไว้สำหรับการสร้างและทดสอบสถานการณ์ขั้นสูง คุณไม่จำเป็นต้องใช้เมื่อเริ่มต้นใช้งาน Bazel
โมดูล เศษการกำหนดค่า และผู้ให้บริการต่อไปนี้จะช่วยคุณขยายความสามารถของ Bazel เมื่อสร้างโปรเจ็กต์ macOS และ iOS
โมดูล
ข้อมูลโค้ดการกำหนดค่า
ผู้ให้บริการ
การเลือก Xcode
หากบิลด์ต้องใช้ Xcode ทาง Bazel จะเลือกเวอร์ชันที่เหมาะสมตาม Flag --xcode_config
และ --xcode_version
--xcode_config
จะใช้ชุดเวอร์ชัน Xcode ที่พร้อมใช้งานและตั้งค่าเวอร์ชันเริ่มต้นหากไม่ได้ส่ง --xcode_version
ค่าเริ่มต้นนี้จะลบล้างโดย Flag --xcode_version
ตราบใดที่ Flag ดังกล่าวตั้งค่าเป็นเวอร์ชัน 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