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