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