แอป Apple และ Bazel

รายงานปัญหา ดูแหล่งที่มา รุ่น Nightly · 7.4 7.3 · 7.2 · 7.1 · 7.0 · 6.5

หน้านี้มีแหล่งข้อมูลที่จะช่วยให้คุณใช้ Bazel เพื่อสร้างโปรเจ็กต์ macOS และ iOS ได้ ซึ่งลิงก์ไปยังบทแนะนำ กฎ และข้อมูลอื่นๆ ที่เฉพาะเจาะจงสำหรับ โดยใช้ Bazel เพื่อสร้างและทดสอบแพลตฟอร์มเหล่านั้น

การทำงานกับ Bazel

แหล่งข้อมูลต่อไปนี้จะช่วยคุณในการทำงานร่วมกับ Bazel ในโปรเจ็กต์ macOS และ iOS

การย้ายข้อมูลไปยัง Bazel

หากปัจจุบันคุณสร้างโปรเจ็กต์ macOS และ iOS ด้วย Xcode ให้ทำตามขั้นตอนในคู่มือการย้ายข้อมูลเพื่อเริ่มสร้างโปรเจ็กต์ด้วย Bazel

แอปของ Apple และกฎใหม่

หมายเหตุ: การสร้างกฎใหม่มีไว้สําหรับสถานการณ์บิลด์และทดสอบขั้นสูง คุณไม่จำเป็นเมื่อเริ่มต้นใช้งาน Bazel

โมดูล ส่วนย่อยของการกำหนดค่า และผู้ให้บริการต่อไปนี้จะช่วยคุณได้ ขยายความสามารถของ Bazel เมื่อสร้างโปรเจ็กต์ macOS และ iOS ให้ทำดังนี้

การเลือก Xcode

หากบิลด์ต้องใช้ Xcode ทาง Bazel จะเลือกเวอร์ชันที่เหมาะสมตาม Flag --xcode_config และ --xcode_version --xcode_config จะใช้ชุดเวอร์ชัน Xcode ที่พร้อมใช้งานและตั้งค่าเวอร์ชันเริ่มต้นหากไม่ได้ส่ง --xcode_version ค่าเริ่มต้นนี้จะลบล้างโดย Flag --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