แอป 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 ได้