Apple Apps और Bazel

इस पेज पर ऐसे संसाधन मौजूद हैं जिनकी मदद से, macOS और iOS के प्रोजेक्ट बनाने के लिए Bazel का इस्तेमाल किया जा सकता है. इसमें एक ट्यूटोरियल, बिल्ड के नियम, और अन्य जानकारी दी गई है. ये सभी चीज़ें, इन प्लैटफ़ॉर्म के लिए बिल्ड और टेस्ट करने के लिए Bazel का इस्तेमाल करने से जुड़ी हैं.

Bazel का इस्तेमाल करना

macOS और iOS के प्रोजेक्ट पर Bazel का इस्तेमाल करने के लिए, यहां दिए गए संसाधन आपकी मदद करेंगे:

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 का इस्तेमाल करेगा. इससे, 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 पास करें.