Starlark के फ़ंक्शन, Apple के नियम लागू करने के अंदरूनी हिस्सों को ऐक्सेस करते हैं.
सदस्य
- apple_host_system_env
- apple_toolchain
- AppleDebugOutputs
- AppleDynamicFramework
- AppleExecutableBinary
- dotted_version
- link_multi_arch_binary
- link_multi_arch_static_library
- new_dynamic_framework_provider
- new_executable_binary_provider
- प्लैटफ़ॉर्म
- platform_type
- target_apple_env
- XcodeProperties
- XcodeVersionConfig
apple_host_system_env
dict apple_common.apple_host_system_env(xcode_config)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
xcode_config
|
ज़रूरी है Xcode कॉन्फ़िगरेशन की जानकारी देने वाली कंपनी. |
apple_toolchain
unknown apple_common.apple_toolchain()
AppleDebugOutputs
None
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)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
version
|
string;
ज़रूरी है DottedVersion की स्ट्रिंग के तौर पर दिखाया गया वर्शन. |
link_multi_arch_binary
struct apple_common.link_multi_arch_binary(ctx, avoid_deps=None, extra_linkopts=[], extra_link_inputs=[], extra_requested_features=[], extra_disabled_features=[], stamp=-1)
apple_binary
नियम का ज़्यादातर लॉजिक शामिल होता है. यह rules_apple में, लिंकिंग लॉजिक को Starlark में माइग्रेट करने में मदद करने के लिए मौजूद है.
इस एपीआई को बहुत ज़्यादा प्रयोग के तौर पर बनाया गया है और इसमें किसी भी समय बदलाव किया जा सकता है. फ़िलहाल, इस सुविधा के सही तरीके से काम करने पर भरोसा न करें.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
ctx
|
ctx;
ज़रूरी है Starlark नियम का संदर्भ. |
avoid_deps
|
टारगेट का क्रम या None ;
डिफ़ॉल्ट तौर पर None उन Target की सूची जो बाइनरी के डिपेंडेंसी ग्राफ़ में मौजूद हैं, लेकिन जिनकी लाइब्रेरी को बाइनरी से लिंक नहीं किया जाना चाहिए. हालांकि, यह उन डिपेंडेंसी पर भी लागू होता है जो रनटाइम के दौरान किसी दूसरी इमेज में मिलेंगी. उदाहरण के लिए, बंडल लोडर या इस बाइनरी से लोड की जाने वाली डाइनैमिक लाइब्रेरी/फ़्रेमवर्क.
|
extra_linkopts
|
स्ट्रिंग का क्रम;
डिफ़ॉल्ट तौर पर [] होता है लिंक करने वाली कार्रवाई में पास किए जाने वाले अतिरिक्त लिंकऑप्ट. |
extra_link_inputs
|
फ़ाइल का क्रम;
डिफ़ॉल्ट तौर पर, [] होता है लिंकर ऐक्शन को पास करने के लिए अतिरिक्त फ़ाइलें. |
extra_requested_features
|
string का क्रम;
यह डिफ़ॉल्ट रूप से [] लिंकर कार्रवाई में पास की जाने वाली अतिरिक्त सुविधाओं के लिए होता है. |
extra_disabled_features
|
स्ट्रिंग का क्रम;
डिफ़ॉल्ट रूप से [] होता है लिंकर ऐक्शन में भेजी जाने वाली अतिरिक्त बंद सुविधाएं. |
stamp
|
int;
डिफ़ॉल्ट तौर पर -1 होता है लिंक की गई बाइनरी में बिल्ड की जानकारी शामिल करनी है या नहीं. अगर 1 है, तो बिल्ड की जानकारी हमेशा शामिल की जाती है. अगर 0 है, तो बिल्ड की जानकारी हमेशा बाहर रखी जाती है. अगर -1 (डिफ़ॉल्ट) है, तो व्यवहार --[no]स्टैंप फ़्लैग की मदद से तय होता है. टेस्ट नियमों के लिए, लागू किए जा सकने वाले आउटपुट जनरेट करते समय, इसे 0 पर सेट किया जाना चाहिए. |
link_multi_arch_static_library
struct apple_common.link_multi_arch_static_library(ctx)
apple_static_library
नियम लॉजिक का एक हिस्सा शामिल होता है. यह rules_apple में, लिंकिंग लॉजिक को Starlark में माइग्रेट करने में मदद करने के लिए मौजूद है.
यह एपीआई पूरी तरह से एक्सपेरिमेंट के तौर पर उपलब्ध है और इसमें कभी भी बदलाव किया जा सकता है. इस समय इस फ़ंक्शन की स्थिरता पर निर्भर न करें.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
ctx
|
ctx;
ज़रूरी है Starlark नियम का संदर्भ. |
new_dynamic_framework_provider
unknown apple_common.new_dynamic_framework_provider(binary=None, cc_info, framework_dirs=None, framework_files=None)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
binary
|
फ़ाइल; या None ;
डिफ़ॉल्ट रूप से यह None डाइनैमिक फ़्रेमवर्क का डाइलिब बाइनरी आर्टफ़ैक्ट है. |
cc_info
|
CcInfo;
ज़रूरी है एक CcInfo, जिसमें बाइनरी में लिंक की गई ट्रांज़िटिव डिपेंडेंसी के बारे में जानकारी होती है. |
framework_dirs
|
string या None का depset;
डिफ़ॉल्ट रूप से None फ़्रेमवर्क पाथ का नाम होता है. इसे डाइनैमिक फ़्रेमवर्क से लिंक करने के लिए, लिंक इनपुट के तौर पर इस्तेमाल किया जाता है. |
framework_files
|
फ़ाइल का depset या None ;
डिफ़ॉल्ट रूप से None आर्टफ़ैक्ट का पूरा सेट, जिसे डाइनैमिक फ़्रेमवर्क से लिंक करने के लिए इनपुट के तौर पर शामिल किया जाना चाहिए |
new_executable_binary_provider
unknown apple_common.new_executable_binary_provider(binary=None, cc_info)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
binary
|
फ़ाइल या None ;
डिफ़ॉल्ट रूप से None होता है यह, एक्सीक्यूटेबल का बाइनरी आर्टफ़ैक्ट होता है. |
cc_info
|
CcInfo;
ज़रूरी है CcInfo, जिसमें बाइनरी से जुड़ी ट्रांज़िशन डिपेंडेंसी की जानकारी होती है. |
प्लैटफ़ॉर्म
struct apple_common.platform
ios_device
ios_simulator
macos
tvos_device
tvos_simulator
visionos_device
visionos_simulator
watchos_device
watchos_simulator
ये वैल्यू, एक प्लैटफ़ॉर्म से जुड़े तरीकों पर भेजी जा सकती हैं. जैसे, XcodeVersionConfig.sdk_version_for_platform.
platform_type
struct apple_common.platform_type
ios
macos
tvos
visionos
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
की सेवा देने वाली कंपनी का कंस्ट्रक्टर/कुंजी.