หน้านี้มีแหล่งข้อมูลที่จะช่วยให้คุณใช้ 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
ซึ่งมีแอตทริบิวต์ 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
ได้