หน้านี้มีแหล่งข้อมูลที่จะช่วยให้คุณใช้ 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