इस पेज पर ऐसे संसाधन मौजूद हैं जिनकी मदद से, macOS और iOS प्रोजेक्ट बनाने के लिए Bazel का इस्तेमाल किया जा सकता है. इसमें ट्यूटोरियल, नियम बनाने के तरीके, और उन प्लैटफ़ॉर्म के लिए Bazel का इस्तेमाल करके, ऐप्लिकेशन बनाने और उसकी जांच करने से जुड़ी अन्य जानकारी दी गई है.
Bazel का इस्तेमाल करना
macOS और iOS प्रोजेक्ट पर Bazel का इस्तेमाल करने के लिए, इन संसाधनों का इस्तेमाल करें:
- ट्यूटोरियल: iOS ऐप्लिकेशन बनाना
- Objective-C के लिए, बिल्ड करने से जुड़े नियम
- Apple के सामान्य नियम
- Xcode के साथ इंटिग्रेशन
Bazel पर माइग्रेट करना
अगर फ़िलहाल macOS और iOS प्रोजेक्ट, Xcode की मदद से बनाए जाते हैं, तो उन्हें Bazel की मदद से बनाने के लिए, माइग्रेशन गाइड में दिया गया तरीका अपनाएं:
Apple के ऐप्लिकेशन और नए नियम
ध्यान दें: नए नियम बनाने की सुविधा, बेहतर तरीके से बिल्ड और टेस्ट करने के लिए उपलब्ध है. Bazel का इस्तेमाल शुरू करने के लिए, इसकी ज़रूरत नहीं होती.
macOS और iOS प्रोजेक्ट बनाते समय, Bazel की क्षमताओं को बढ़ाने में ये मॉड्यूल, कॉन्फ़िगरेशन फ़्रैगमेंट, और प्रोवाइडर आपकी मदद करेंगे:
मॉड्यूल:
कॉन्फ़िगरेशन फ़्रैगमेंट:
सेवा देने वाली कंपनियां:
Xcode का वर्शन चुनना
अगर आपके बिल्ड के लिए Xcode की ज़रूरत है, तो Bazel, --xcode_config और --xcode_version फ़्लैग के आधार पर सही वर्शन चुनेगा. --xcode_config, Xcode के उपलब्ध वर्शन के सेट का इस्तेमाल करता है. साथ ही, अगर --xcode_version पास नहीं किया जाता है, तो डिफ़ॉल्ट वर्शन सेट करता है. अगर --xcode_version फ़्लैग को Xcode के ऐसे वर्शन पर सेट किया गया है जो --xcode_config टारगेट में मौजूद है, तो यह डिफ़ॉल्ट वैल्यू बदल जाएगी.
अगर --xcode_config पास नहीं किया जाता है, तो Bazel अपने-आप जनरेट हुए XcodeVersionConfig का इस्तेमाल करेगा. यह XcodeVersionConfig, आपकी होस्ट मशीन पर उपलब्ध Xcode वर्शन को दिखाता है. डिफ़ॉल्ट वर्शन, Xcode का सबसे नया वर्शन होता है. यह स्थानीय तौर पर लागू करने के लिए सही है.
अगर आपको रिमोट बिल्ड करने हैं, तो आपको --xcode_config को ऐसे xcode_config टारगेट पर सेट करना चाहिए जिसका versions एट्रिब्यूट, रिमोट तौर पर उपलब्ध xcode_version टारगेट की सूची हो और जिसका default एट्रिब्यूट इनमें से कोई एक xcode_versions हो.
अगर डाइनैमिक एक्ज़ीक्यूशन का इस्तेमाल किया जा रहा है, तो आपको --xcode_config को ऐसे xcode_config टारगेट पर सेट करना चाहिए जिसका remote_versions एट्रिब्यूट, available_xcodes टारगेट हो. इस टारगेट में, रिमोट तौर पर उपलब्ध Xcode के वर्शन शामिल होते हैं. साथ ही, आपको --xcode_config को ऐसे available_xcodes टारगेट पर सेट करना चाहिए जिसका local_versions एट्रिब्यूट, available_xcodes टारगेट हो. इस टारगेट में, स्थानीय तौर पर उपलब्ध Xcode के वर्शन शामिल होते हैं. local_versions के लिए, आपको शायद अपने-आप जनरेट होने वाले @local_config_xcode//:host_available_xcodes का इस्तेमाल करना चाहिए. अगर Xcode का कोई ऐसा वर्शन उपलब्ध है जो दोनों के लिए काम करता है, तो उसे डिफ़ॉल्ट वर्शन के तौर पर सेट किया जाता है. अगर ऐसा कोई वर्शन उपलब्ध नहीं है, तो local_versions टारगेट के डिफ़ॉल्ट वर्शन को सेट किया जाता है. अगर आपको local_versions डिफ़ॉल्ट
को डिफ़ॉल्ट के तौर पर इस्तेमाल करना है, तो --experimental_prefer_mutual_default=false पास करें.