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