Apple Apps और Bazel

समस्या की शिकायत करें सोर्स देखें

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

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 एट्रिब्यूट स्थानीय तौर पर उपलब्ध Xcode वर्शन वाला available_xcodes टारगेट है. local_versions के लिए, शायद आप अपने-आप जनरेट हुए @local_config_xcode//:host_available_xcodes का इस्तेमाल करना चाहें. अगर कोई वर्शन मौजूद है, तो डिफ़ॉल्ट Xcode वर्शन म्यूचुअली में उपलब्ध सबसे नया वर्शन होता है. अगर ऐसा नहीं है, तो local_versions टारगेट का डिफ़ॉल्ट वर्शन होता है. अगर आपको local_versions को डिफ़ॉल्ट के तौर पर इस्तेमाल करना है, तो --experimental_prefer_mutual_default=false को पास किया जा सकता है.