Apple_सामान्य

Apple नियम लागू करने के अंदरूनी हिस्सों को ऐक्सेस करने के लिए Starlark के लिए फ़ंक्शन.

पैसे चुकाकर बने सदस्यों के लिए

apple_host_system_env

dict apple_common.apple_host_system_env(xcode_config)

एनवायरमेंट वैरिएबल का dict दिखाता है. इसे उन कार्रवाइयों के लिए सेट किया जाना चाहिए जिन्हें Apple होस्ट सिस्टम पर बिल्ड टूल चलाने की ज़रूरत होती है. जैसे, इस्तेमाल किए जाने वाले Xcode का वर्शन. कुंजियां, वैरिएबल के नाम होती हैं और वैल्यू उनसे जुड़ी वैल्यू होती हैं.

पैरामीटर

पैरामीटर ब्यौरा
xcode_config ज़रूरी है
सेवा देने वाली ऐसी कंपनी जिसमें xcode कॉन्फ़िगरेशन के बारे में जानकारी हो.

apple_toolchain

apple_toolchain apple_common.apple_toolchain()

Apple टूलचेन से आइटम की समस्या हल करने में मदद करने वाली सुविधाएं.

AppleDebugOutputs

Provider apple_common.AppleDebugOutputs

AppleDebugOutputs की सेवा देने वाली कंपनी के लिए कंस्ट्रक्टर/कुंजी.

अगर कोई टारगेट, AppleDebugOutputs की सेवा देने वाली कंपनी को प्रमोट करता है, तो इसे वापस पाने के लिए कुंजी के तौर पर इसका इस्तेमाल करें. उदाहरण:

dep = ctx.attr.deps[0]
p = dep[apple_common.AppleDebugOutputs]

AppleDynamicFramework

Provider apple_common.AppleDynamicFramework

AppleDynamicFramework की सेवा देने वाली कंपनी के लिए कंस्ट्रक्टर/कुंजी.

अगर कोई टारगेट, AppleDynamicFramework की सेवा देने वाली कंपनी को प्रमोट करता है, तो इसे वापस पाने के लिए कुंजी के तौर पर इसका इस्तेमाल करें. उदाहरण:

dep = ctx.attr.deps[0]
p = dep[apple_common.AppleDynamicFramework]

AppleExecutableBinary

Provider apple_common.AppleExecutableBinary

AppleExecutableBinary की सेवा देने वाली कंपनी के लिए कंस्ट्रक्टर/कुंजी.

अगर कोई टारगेट, AppleExecutableBinary की सेवा देने वाली कंपनी को प्रमोट करता है, तो इसे वापस पाने के लिए कुंजी के तौर पर इसका इस्तेमाल करें. उदाहरण:

dep = ctx.attr.deps[0]
p = dep[apple_common.AppleExecutableBinary]

dotted_version

DottedVersion apple_common.dotted_version(version)

एक नया DottedVersion इंस्टेंस बनाता है.

पैरामीटर

पैरामीटर ब्यौरा
version ज़रूरी है
DottedVersion का स्ट्रिंग दिखाना.

struct apple_common.link_multi_arch_binary(ctx, avoid_deps=None, extra_linkopts=[], extra_link_inputs=[], stamp=-1)

Apple प्लैटफ़ॉर्म को टारगेट करने वाले किसी (संभावित मल्टी-आर्किटेक्चर) बाइनरी को लिंक करता है. इस तरीके में, Rules_apple डोमेन में Starlark apple_binary नियम का एक लॉजिक शामिल होता है. साथ ही, इसके लिंकिंग लॉजिक को नियमों_apple में Starlark पर माइग्रेट करने में मदद करने के लिए मौजूद होता है.

इस एपीआई पर बहुत ज़्यादा प्रयोग किया जा रहा है और इसे किसी भी समय बदला जा सकता है. फ़िलहाल, इस फ़ंक्शन की स्थिरता पर निर्भर न करें.

पैरामीटर

पैरामीटर ब्यौरा
ज़रूरी है
स्टारलार्क नियम का संदर्भ.
sequence of Targets; or None; डिफ़ॉल्ट = कोई नहीं
Target की सूची, जो बाइनरी के डिपेंडेंसी ग्राफ़ में है, लेकिन जिनकी लाइब्रेरी को बाइनरी में लिंक नहीं करना चाहिए. यह उन डिपेंडेंसी के मामले में होता है जो रनटाइम के दौरान किसी दूसरी इमेज में मिलेंगी. उदाहरण के लिए, बंडल लोडर या इस बाइनरी से लोड की जाने वाली कोई डाइनैमिक लाइब्रेरी/फ़्रेमवर्क.
sequence of strings; डिफ़ॉल्ट = []
लिंकर की कार्रवाई को पास किए जाने वाले अतिरिक्त लिंक होते हैं.
sequence of Files; डिफ़ॉल्ट = []
लिंकर की कार्रवाई को पास करने के लिए अतिरिक्त फ़ाइलें.
डिफ़ॉल्ट = -1
लिंक की गई बाइनरी में बिल्ड की जानकारी शामिल करनी है या नहीं. अगर यह एक समस्या है, तो बिल्ड की जानकारी हमेशा शामिल की जाती है. अगर यह संख्या शून्य है, तो बिल्ड की जानकारी को हमेशा शामिल नहीं किया जाता है. अगर डिफ़ॉल्ट वैल्यू -1 है, तो इसका तरीका --[no]स्टैंप फ़्लैग से तय होता है. जांच के नियमों के लिए एक्ज़ीक्यूटेबल आउटपुट जनरेट करते समय, इसे 0 पर सेट करना चाहिए.

struct apple_common.link_multi_arch_static_library(ctx)

Apple प्लैटफ़ॉर्म को टारगेट करने वाली किसी (संभावित मल्टी-आर्किटेक्चर) स्टैटिक लाइब्रेरी को लिंक करता है. यह तरीका,Terms_apple डोमेन में Starlark apple_static_library नियम लॉजिक का एक हिस्सा शामिल होता है. साथ ही, यह नियम-apple में, लिंक करने के लॉजिक को Starlark पर माइग्रेट करने में मदद करने के लिए मौजूद है.

इस एपीआई पर बहुत ज़्यादा प्रयोग किया जा रहा है और इसे किसी भी समय बदला जा सकता है. फ़िलहाल, इस फ़ंक्शन की स्थिरता पर निर्भर न करें.

पैरामीटर

पैरामीटर ब्यौरा
ज़रूरी है
स्टारलार्क नियम का संदर्भ.

multi_arch_split

SplitTransitionProviderApi apple_common.multi_arch_split

एक या उससे ज़्यादा Apple प्लैटफ़ॉर्म में डिपेंडेंसी बनाने के लिए, नियम एट्रिब्यूट के लिए कॉन्फ़िगरेशन ट्रांज़िशन.

इस ट्रांज़िशन के इस्तेमाल के लिए, नियम में 'platform_type' और 'min_os_version' स्ट्रिंग एट्रिब्यूट का तय किया जाना और ज़रूरी होना ज़रूरी है.

Platform_type एट्रिब्यूट की वैल्यू, टारगेट आर्किटेक्चर को तय करेगी. इसके लिए, इस कॉन्फ़िगरेशन ट्रांज़िशन के लिए डिपेंडेंसी बनाई जाएंगी.

इसके विकल्प:

  • ios: --ios_multi_cpus से इकट्ठा की गई आर्किटेक्चर.
  • macos: --macos_cpus से इकट्ठा की गई आर्किटेक्चर.
  • tvos: --tvos_cpus से इकट्ठा की गई आर्किटेक्चर.
  • watchos: --watchos_cpus से इकट्ठा की गई आर्किटेक्चर.

कम से कम_os_version, बिंदुओं वाली वर्शन स्ट्रिंग होनी चाहिए, जैसे कि '7.3'. इसका इस्तेमाल, प्लैटफ़ॉर्म के टाइप के आधार पर, कॉन्फ़िगरेशन पर सबसे कम ऑपरेटिंग सिस्टम को सेट करने के लिए किया जाता है. उदाहरण के लिए, Platform_type 'iOS' और न्यूनतम_os_version '8.0' तय करने से यह पक्का होगा कि डिपेंडेंसी कम से कम iOS वर्शन '8.0' के साथ बनाई गई है.

new_dynamic_framework_provider

AppleDynamicFramework apple_common.new_dynamic_framework_provider(binary=None, cc_info=None, objc, framework_dirs=None, framework_files=None)

यह AppleDynamicFramework की सेवा देने वाली कंपनी का नया इंस्टेंस बनाता है.

पैरामीटर

पैरामीटर ब्यौरा
binary File; or None; डिफ़ॉल्ट = कोई नहीं
डाइनैमिक फ़्रेमवर्क का dylib बाइनरी आर्टफ़ैक्ट.
cc_info डिफ़ॉल्ट = कोई नहीं
ऐसी CCInfo जिसमें बाइनरी से जुड़ी ट्रांज़िटिव डिपेंडेंसी के बारे में जानकारी होती है.
objc ज़रूरी है
ऐसा ऑब्जेक प्रोवाइडर, जिसमें बाइनरी से लिंक की गई ट्रांज़िटिव डिपेंडेंसी के बारे में जानकारी होती है.
framework_dirs depset of strings; or None; डिफ़ॉल्ट = कोई नहीं
फ़्रेमवर्क पाथ के नाम का इस्तेमाल, लिंक इनपुट के तौर पर किया जाता है, ताकि डाइनैमिक फ़्रेमवर्क से लिंक किया जा सके.
framework_files depset of Files; or None; डिफ़ॉल्ट = कोई नहीं
आर्टफ़ैक्ट का पूरा सेट, जिसे इनपुट के तौर पर शामिल किया जाना चाहिए, ताकि डाइनैमिक फ़्रेमवर्क से लिंक किया जा सके

new_executable_binary_provider

AppleExecutableBinary apple_common.new_executable_binary_provider(binary=None, cc_info=None, objc)

AppleexeutableBinaryInfo प्रोवाइडर का नया इंस्टेंस बनाता है.

पैरामीटर

पैरामीटर ब्यौरा
binary File; or None; डिफ़ॉल्ट = कोई नहीं
एक्ज़ीक्यूटेबल का बाइनरी आर्टफ़ैक्ट.
cc_info डिफ़ॉल्ट = कोई नहीं
ऐसी CCInfo जिसमें बाइनरी से जुड़ी ट्रांज़िटिव डिपेंडेंसी के बारे में जानकारी होती है.
objc ज़रूरी है
ऐसा ऑब्जेक प्रोवाइडर, जिसमें बाइनरी से लिंक की गई ट्रांज़िटिव डिपेंडेंसी के बारे में जानकारी होती है.

new_objc_provider

ObjcProvider apple_common.new_objc_provider(**kwargs)

एक नया ObjcProvider इंस्टेंस बनाता है.

पैरामीटर

पैरामीटर ब्यौरा
kwargs default = {}
तर्कों की डिक्शनरी.

ओबीजेसी

Provider apple_common.Objc

Objc की सेवा देने वाली कंपनी के लिए कंस्ट्रक्टर/कुंजी.

अगर कोई टारगेट, Objc की सेवा देने वाली कंपनी को प्रमोट करता है, तो इसे वापस पाने के लिए कुंजी के तौर पर इसका इस्तेमाल करें. उदाहरण:

dep = ctx.attr.deps[0]
p = dep[apple_common.Objc]

platform

struct apple_common.platform

एनम जैसा स्ट्रक्चर, जिसमें Apple प्लैटफ़ॉर्म से जुड़े ये फ़ील्ड शामिल होते हैं:
  • ios_device
  • ios_simulator
  • macos
  • tvos_device
  • tvos_simulator
  • watchos_device
  • watchos_simulator

ये वैल्यू, प्लैटफ़ॉर्म के हिसाब से तय किए गए तरीकों में पास की जा सकती हैं. जैसे, XcodeVersionConfig.sdk_version_for_platform.

platform_type

struct apple_common.platform_type

एनम जैसा स्ट्रक्चर, जिसमें Apple प्लैटफ़ॉर्म के टाइप के हिसाब से दिए गए फ़ील्ड शामिल होते हैं:
  • ios
  • macos
  • tvos
  • watchos

ये वैल्यू, उन तरीकों में डाली जा सकती हैं जो प्लैटफ़ॉर्म टाइप की उम्मीद करते हैं. जैसे, 'apple' कॉन्फ़िगरेशन फ़्रैगमेंट का multi_arch_platform तरीका.

उदाहरण:

ctx.fragments.apple.multi_arch_platform(apple_common.platform_type.ios)

target_apple_env

dict apple_common.target_apple_env(xcode_config, platform)

यह एनवायरमेंट वैरिएबल का dict दिखाता है. इसे उन कार्रवाइयों के लिए सेट किया जाना चाहिए जो दिए गए Apple प्लैटफ़ॉर्म के टारगेट तय करती हैं. उदाहरण के लिए, इस शब्दकोश में ऐसे वैरिएबल मौजूद हैं जो प्लैटफ़ॉर्म के नाम और SDK टूल के वर्शन के बारे में बताते हैं. कुंजियां, वैरिएबल के नाम होती हैं और वैल्यू उनसे जुड़ी वैल्यू होती हैं.

पैरामीटर

पैरामीटर ब्यौरा
xcode_config ज़रूरी है
सेवा देने वाली ऐसी कंपनी जिसमें xcode कॉन्फ़िगरेशन के बारे में जानकारी हो.
platform ज़रूरी है
Apple प्लैटफ़ॉर्म.

XcodeProperties

Provider apple_common.XcodeProperties

XcodeVersionProperties की सेवा देने वाली कंपनी के लिए कंस्ट्रक्टर/कुंजी.

अगर कोई टारगेट, XcodeVersionProperties की सेवा देने वाली कंपनी को प्रमोट करता है, तो इसे वापस पाने के लिए कुंजी के तौर पर इसका इस्तेमाल करें. उदाहरण:

dep = ctx.attr.deps[0]
p = dep[apple_common.XcodeVersionProperties]

XcodeVersionConfig

Provider apple_common.XcodeVersionConfig

XcodeVersionConfig की सेवा देने वाली कंपनी के लिए कंस्ट्रक्टर/कुंजी.