แอป Apple และ Bazel

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