แอป Apple และ Bazel

รายงานปัญหา ดูแหล่งที่มา Nightly · 8.3 · 8.2 · 8.1 · 8.0 · 7.6

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