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 प्लैटफ़ॉर्म को टारगेट करने वाले किसी बाइनरी (ऐसा संभावित रूप से एक से ज़्यादा आर्किटेक्चर) बाइनरी को लिंक करता है. इस तरीके में, traffic_apple डोमेन में Starlark apple_binary नियम का एक बड़ा लॉजिक शामिल होता है. साथ ही, इससे लिंक करने वाले लॉजिक को नियमों_apple में Starlark पर माइग्रेट करने में मदद मिलती है.

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

पैरामीटर

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

struct apple_common.link_multi_arch_static_library(ctx)

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

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

पैरामीटर

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

multi_arch_split

SplitTransitionProviderApi apple_common.multi_arch_split

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

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

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

इसके विकल्प:

  • ios: --ios_multi_cpus से लिए गए आर्किटेक्चर.
  • macos: --macos_cpus से लिए गए आर्किटेक्चर.
  • tvos: --tvos_cpus से लिए गए आर्किटेक्चर.
  • watchos: --watchos_cpus से लिए गए आर्किटेक्चर.

कम से कम_os_version, बिंदुओं वाली वर्शन स्ट्रिंग होनी चाहिए, जैसे कि '7.3'. इसका इस्तेमाल, प्लैटफ़ॉर्म टाइप के आधार पर, कॉन्फ़िगरेशन पर कम से कम ऑपरेटिंग सिस्टम को सेट करने के लिए किया जाता है. उदाहरण के लिए, Platform_type 'ios' और min_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)

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

पैरामीटर

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

new_objc_provider

ObjcProvider apple_common.new_objc_provider(**kwargs)

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

पैरामीटर

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

ऑब्जेक

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

Enum जैसी संरचना, जिसमें 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 प्रोवाइडर के लिए कंस्ट्रक्टर/की.