แอป 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 ซึ่งมีแอตทริบิวต์ 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 ได้