पैसे चुकाकर बने सदस्य
- सभी
- analysis_test_transition
- कोई भी
- संग्रहित_बदलें
- जानकारी
- bazel_dep
- बाइंड
- bool
- config_field
- डेप्सेट
- शब्द
- dir
- एनूमरेट
- exec_group
- फ़ेल
- फ़्लोट
- getattr
- git_override
- hasattr
- हैश
- int
- लेन
- list
- local_path_override
- ज़्यादा से ज़्यादा
- मिनट
- मॉड्यूल
- module_extensions
- multiple_version_Override
- प्रिंट करें
- सेवा देने वाली कंपनी
- रेंज
- record_execution_platforms()
- record_execution_platforms()
- cancel_toolchains()
- cancel_toolchains()
- repository_rule(लागू करना, attr, लोकल, एनवायरमेंट, कॉन्फ़िगर, और बदला जा सकने वाला, दस्तावेज़)
- repository_rule(लागू करना, attr, लोकल, एनवायरमेंट, कॉन्फ़िगर, और बदला जा सकने वाला, दस्तावेज़)
- जवाब दें
- रिवर्स
- नियम
- चुनें
- single_version_Override
- क्रम से लगाया गया
- str
- tag_class
- टपल
- टाइप
- use_extensions
- use_repo
- किसको दिखे
- फ़ाइल फ़ोल्डर
- zip
सभी
bool all(elements)अगर सभी एलिमेंट 'सही' पर सेट हैं या कलेक्शन खाली है, तो 'सही' दिखाता है. bool फ़ंक्शन का इस्तेमाल करके एलिमेंट को बूलियन में बदला जाता है.
all(["hello", 3, True]) == True all([-1, 0, 1]) == False
पैरामीटर
पैरामीटर | जानकारी |
---|---|
elements
|
ज़रूरी है स्ट्रिंग या एलिमेंट का कलेक्शन. |
विश्लेषण_टेस्ट_ट्रांज़िशन
transition analysis_test_transition(settings)
विश्लेषण-टेस्ट के नियम की डिपेंडेंसी पर लागू करने के लिए कॉन्फ़िगरेशन ट्रांज़िशन बनाता है. यह ट्रांज़िशन सिर्फ़ analysis_test = True
के नियमों के एट्रिब्यूट पर लागू किया जा सकता है. ऐसे नियम क्षमताओं में प्रतिबंधित हैं (उदाहरण के लिए, उनके डिपेंडेंसी ट्री का आकार सीमित है), इसलिए इस फ़ंक्शन का इस्तेमाल करके बनाए गए ट्रांज़िशन, ट्रांज़िशन का इस्तेमाल करके बनाए गए ट्रांज़िशन की तुलना में संभावित दायरे में सीमित होते हैं.
यह फ़ंक्शन मुख्य रूप से विश्लेषण टेस्ट फ़्रेमवर्क को काम करने के लिए बनाया जाता है. सबसे सही तरीके जानने के लिए, इसके दस्तावेज़ (या इसे लागू करने से जुड़ा) देखें.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
settings
|
ज़रूरी है कॉन्फ़िगरेशन सेटिंग के बारे में जानकारी देने वाला शब्दकोश, जिसे इस कॉन्फ़िगरेशन ट्रांज़िशन के ज़रिए सेट किया जाना चाहिए. कुंजियां, बिल्ड सेटिंग लेबल हैं. वैल्यू, ट्रांज़िशन के बाद उनकी नई वैल्यू हैं. बाकी सभी सेटिंग पर कोई असर नहीं पड़ेगा. इसका इस्तेमाल करके, कॉन्फ़िगरेशन से जुड़ी उन खास सेटिंग के बारे में बताएं जिन्हें विश्लेषण के टेस्ट को पास करने के लिए सेट करना ज़रूरी है. |
कोई भी
bool any(elements)अगर कम से कम एक एलिमेंट 'सही' पर सेट है, तो 'सही' दिखाता है. bool फ़ंक्शन का इस्तेमाल करके एलिमेंट को बूलियन में बदला जाता है.
any([-1, 0, 1]) == True any([False, 0, ""]) == False
पैरामीटर
पैरामीटर | जानकारी |
---|---|
elements
|
ज़रूरी है स्ट्रिंग या एलिमेंट का कलेक्शन. |
संग्रहित_ओवरराइड करें
None archive_override(module_name, urls, integrity='', strip_prefix='', patches=[], patch_cmds=[], patch_strip=0)यह बताता है कि यह डिपेंडेंसी किसी रजिस्ट्री के बजाय किसी तय जगह पर संग्रह फ़ाइल (zip, gzip, वगैरह) से आनी चाहिए. इस निर्देश का इस्तेमाल सिर्फ़ रूट मॉड्यूल के लिए किया जा सकता है. दूसरे शब्दों में, अगर कोई मॉड्यूल किसी भी ओवरराइड को तय करता है, तो दूसरे लोग उसे डिपेंडेंसी के तौर पर इस्तेमाल नहीं कर सकते.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
module_name
|
ज़रूरी है उस ओवरराइड पर लागू करने के लिए Bazel मॉड्यूल की डिपेंडेंसी का नाम. |
urls
|
string; or Iterable of strings ;
ज़रूरी हैसंग्रह के यूआरएल; http(s):// या file:// यूआरएल हो सकते हैं. |
integrity
|
डिफ़ॉल्ट = '' सब-सोर्स इंटेग्रिटी फ़ॉर्मैट में संग्रह फ़ाइल का अनुमानित चेकसम. |
strip_prefix
|
डिफ़ॉल्ट = '' निकाली गई फ़ाइलों से स्ट्रिप करने के लिए निर्देशिका उपसर्ग. |
patches
|
Iterable of strings ;
डिफ़ॉल्ट = []इस मॉड्यूल के लिए लागू होने वाले पैच फ़ाइलों पर ले जाने वाले लेबल की सूची. पैच फ़ाइलें टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. उन्हें सूची के क्रम में लागू किया जाता है. |
patch_cmds
|
Iterable of strings ;
डिफ़ॉल्ट = []पैच लागू होने के बाद, Linux/Macos पर Bash कमांड का क्रम लागू करें. |
patch_strip
|
डिफ़ॉल्ट = 0 Unix पैच के --strip आर्ग्युमेंट के जैसा. |
आसपेक्ट
Aspect aspect(implementation, attr_aspects=[], attrs=None, required_providers=[], required_aspect_providers=[], provides=[], requires=[], fragments=[], host_fragments=[], toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, apply_to_generating_rules=False, exec_compatible_with=[], exec_groups=None)एक नया पहलू बनाता है. इस फ़ंक्शन के नतीजे को ग्लोबल वैल्यू में सेव किया जाना चाहिए. कृपया ज़्यादा जानकारी के लिए, आस-पास की जानकारी देखें.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
implementation
|
ज़रूरी है ऐसा Starlark फ़ंक्शन जो इस पहलू को लागू करता है. इसमें ठीक दो पैरामीटर होते हैं: टारगेट (वह टारगेट जिस पर आसपेक्ट लागू होता है) और ctx (नियम का वह संदर्भ जिससे टारगेट बनाया जाता है). टारगेट के एट्रिब्यूट, ctx.rule फ़ील्ड में उपलब्ध हैं. इस फ़ंक्शन का मूल्यांकन लक्ष्य के किसी पहलू के विश्लेषण के दौरान किया जाता है.
|
attr_aspects
|
sequence of strings ;
डिफ़ॉल्ट = []एट्रिब्यूट के नामों की सूची. यह आसपेक्ट किसी टारगेट के एट्रिब्यूट में बताई गई डिपेंडेंसी के साथ बदलता है. यहां दी गई सामान्य वैल्यू में deps और exports शामिल हैं. सूची में एक टारगेट स्ट्रिंग की सभी डिपेंडेंसी के साथ सिर्फ़ एक स्ट्रिंग "*" लागू हो सकती है.
|
attrs
|
dict; or None ;
डिफ़ॉल्ट = कुछ नहींकिसी शब्दकोश में सभी पहलुओं को बताने वाला शब्दकोश. यह एट्रिब्यूट के नाम से एट्रिब्यूट के ऑब्जेक्ट तक मैप करता है, जैसे कि `attr.label` या `attr.string` (attr मॉड्यूल देखें). आसपेक्ट एट्रिब्यूट, ctx पैरामीटर के फ़ील्ड के तौर पर लागू करने वाले फ़ंक्शन के लिए उपलब्ध हैं.
अश्लील एट्रिब्यूट का टाइप |
required_providers
|
डिफ़ॉल्ट = [] इस एट्रिब्यूट की मदद से, यह दायरा सिर्फ़ उन टारगेट तक सीमित होता है जिनके नियम, सेवा देने वाली ज़रूरी कंपनियों के बारे में बताते हैं. वैल्यू, एक सूची होनी चाहिए, जिसमें अलग-अलग प्रोवाइडर या कंपनियों की सूचियां हों, लेकिन दोनों नहीं. उदाहरण के लिए, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] एक मान्य वैल्यू है, जबकि [FooInfo, BarInfo, [BazInfo, QuxInfo]] मान्य नहीं है.सेवा देने वाली कंपनियों के, नेस्ट नहीं की गई सूची को अपने-आप, सेवा देने वाली कंपनियों की सूची में बदल दिया जाएगा. इसका मतलब है कि कुछ नियम (जैसे कि |
required_aspect_providers
|
डिफ़ॉल्ट = [] इस एट्रिब्यूट से, दूसरे पहलुओं की जांच की जा सकती है. वैल्यू, एक सूची होनी चाहिए, जिसमें अलग-अलग प्रोवाइडर या कंपनियों की सूचियां हों, लेकिन दोनों नहीं. उदाहरण के लिए, [[FooInfo], [BarInfo], [BazInfo, QuxInfo]] एक मान्य वैल्यू है, जबकि [FooInfo, BarInfo, [BazInfo, QuxInfo]] मान्य नहीं है.सेवा देने वाली कंपनियों के, नेस्ट नहीं की गई सूची को अपने-आप, सेवा देने वाली कंपनियों की सूची में बदल दिया जाएगा. इसका मतलब है कि इस पहलू को कोई दूसरा पहलू (जैसे कि |
provides
|
डिफ़ॉल्ट = [] सेवा देने वाली ऐसी कंपनियों की लिस्ट जिन्हें लागू करने की प्रोसेस लागू करनी होगी. अगर लागू करने का फ़ंक्शन, यहां दी गई किसी भी तरह की सेवा देने वाली कंपनी को उसके रिटर्न वैल्यू से हटा देता है, तो यह एक गड़बड़ी होती है. हालांकि, लागू करने की सुविधा में ऐसी दूसरी कंपनियां शामिल हो सकती हैं जो इस सूची में शामिल नहीं हैं. सूची का हर एलिमेंट |
requires
|
sequence of Aspects ;
डिफ़ॉल्ट = []आसपेक्ट की उस सूची में शामिल किए जाने वाले आसपेक्ट रेशियो (लंबाई-चौड़ाई) की सूची. |
fragments
|
sequence of strings ;
डिफ़ॉल्ट = []कॉन्फ़िगरेशन फ़्रैगमेंट के उन नामों की सूची जिनकी ज़रूरत टारगेट कॉन्फ़िगरेशन में होती है. |
host_fragments
|
sequence of strings ;
डिफ़ॉल्ट = []कॉन्फ़िगरेशन फ़्रैगमेंट के उन नामों की सूची जिनकी ज़रूरत, होस्ट कॉन्फ़िगरेशन में होती है. |
toolchains
|
sequence ;
डिफ़ॉल्ट = []अगर यह सेट है, तो इस नियम के लिए ज़रूरी टूलचेन का सेट. सूची में स्ट्रिंग, लेबल या StarlarkToolchainTypeApi ऑब्जेक्ट शामिल हो सकते हैं. टूलचेन की जानकारी के लिए, मौजूदा प्लैटफ़ॉर्म की जांच की जाती है. साथ ही, इसे ctx.toolchain की मदद से, नियमों को लागू करने के तरीके के बारे में बताया जाता है.
|
incompatible_use_toolchain_transition
|
डिफ़ॉल्ट = गलत सुविधा बंद कर दी गई है, अब इसका इस्तेमाल नहीं किया जा रहा है और इसे हटा देना चाहिए. |
doc
|
डिफ़ॉल्ट = '' आसपेक्ट टूल या टूल का इस्तेमाल करने से, दस्तावेज़ के बारे में जानकारी मिल सकती है. |
apply_to_generating_rules
|
डिफ़ॉल्ट = गलत अगर सही है, तो आउटपुट फ़ाइल पर लागू किए जाने पर यह आसपेक्ट आउटपुट फ़ाइल के जनरेट करने वाले नियम पर लागू होगा. उदाहरण के लिए, मान लें कि कोई एलिमेंट "deps` एट्रिब्यूट की मदद से, एक समय पर एक से दूसरे में बदल जाता है और इसे `ऐल्फ़ा` को टारगेट करने के लिए लागू किया जाता है. मान लें कि `ऐल्फ़ा` में `'deps = [':beta_output']` है. इसमें `beta_ आउटपुट`, टारगेट `बीटा` का बताया गया आउटपुट है. मान लें कि `beta` को इंस्टॉल करें. डिफ़ॉल्ट रूप से 'गलत' पर सेट होता है. |
exec_compatible_with
|
sequence of strings ;
डिफ़ॉल्ट = []एक्ज़ीक्यूशन प्लैटफ़ॉर्म पर कंस्ट्रेंट की एक सूची, जो इस पहलू के सभी मामलों पर लागू होती है. |
exec_groups
|
dict; or None ;
डिफ़ॉल्ट = कोई नहींएक्ज़ीक्यूशन ग्रुप के नाम (स्ट्रिंग) को exec_group पर सेट करें. अगर इस नीति को सेट किया जाता है, तो एक ही इंस्टेंस में, एक्ज़ीक्यूशन के कई प्लैटफ़ॉर्म पर कार्रवाइयां की जा सकती हैं. एक्ज़ीक्यूशन ग्रुप के दस्तावेज़ में ज़्यादा जानकारी देखें.
|
Bazel_dep
None bazel_dep(name, version='', repo_name='', dev_dependency=False)यह सीधे तौर पर, Bazel के दूसरे मॉड्यूल पर डायरेक्ट डिपेंडेंसी का एलान करता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
name
|
ज़रूरी है मॉड्यूल का नाम, जिसे सीधे तौर पर जोड़ा जाना चाहिए. |
version
|
डिफ़ॉल्ट = '' मॉड्यूल का वह वर्शन जिसे डायरेक्ट डिपेंडेंसी के तौर पर जोड़ा जाना है. |
repo_name
|
डिफ़ॉल्ट = '' इस डिपेंडेंसी को दिखाने वाले बाहरी डेटा स्टोर का नाम. यह डिफ़ॉल्ट रूप से मॉड्यूल का नाम होता है. |
dev_dependency
|
डिफ़ॉल्ट = गलत अगर सही है, तो इस मॉड्यूल को अनदेखा कर दिया जाएगा, अगर मौजूदा मॉड्यूल रूट मॉड्यूल नहीं है या `--ignore_dev_dependency` चालू है. |
बाइंड
None bind(name, actual=None)
चेतावनी: bind()
के इस्तेमाल का सुझाव नहीं दिया जाता. समस्याओं और विकल्पों के बारे में ज़्यादा जानने के लिए, बाइंड हटाएं पर जाएं.
//external
पैकेज में टारगेट को उपनाम देता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
name
|
ज़रूरी है '//बाहरी' के तहत दिया गया लेबल, उपनाम के तौर पर काम करेगा |
actual
|
string; or None ;
डिफ़ॉल्ट = कोई नहींअसल में इस्तेमाल होने वाला लेबल |
बूल
bool bool(x=False)बूल टाइप के लिए कंस्ट्रक्टर. अगर ऑब्जेक्ट
None
, खाली स्ट्रिंग (""
), संख्या 0
या कोई खाली संग्रह (जैसे, ()
, []
) है, तो यह False
दिखाता है. नहीं तो, यह True
दिखाता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
x
|
डिफ़ॉल्ट = गलत बदला जाने वाला वैरिएबल. |
कॉन्फ़िगरेशन_फ़ील्ड
LateBoundDefault configuration_field(fragment, name)लेबल प्रकार की विशेषता के लिए देरी से सीमित डिफ़ॉल्ट मान का संदर्भ देता है. वैल्यू को तय करने से पहले, कॉन्फ़िगरेशन बनाने के लिए, इसे 'लेट-बाउंड' माना जाता है. वैल्यू के तौर पर, इसका इस्तेमाल करने वाले सभी एट्रिब्यूट को निजी होना चाहिए.
इस्तेमाल का उदाहरण:
नियम की विशेषता तय करना:
'_foo': attr.label(default=configuration_field(fragment='java', name='toolchain'))
नियम लागू करने का ऐक्सेस:
def _rule_impl(ctx): foo_info = ctx.attr._foo ...
पैरामीटर
पैरामीटर | जानकारी |
---|---|
fragment
|
ज़रूरी उस कॉन्फ़िगरेशन फ़्रैगमेंट का नाम जिसमें तय की गई देर से आने वाली वैल्यू होती है. |
name
|
ज़रूरी कॉन्फ़िगरेशन फ़्रैगमेंट से मिलने वाली वैल्यू का नाम. |
डिसेट
depset depset(direct=None, order="default", *, transitive=None)depset बनाता है.
direct
पैरामीटर, डिक्रिप्ट के डायरेक्ट एलिमेंट की सूची है और transitive
पैरामीटर, उन डेप्टेट की सूची है जिनके एलिमेंट, डिपसेट के डायरेक्ट एलिमेंट बन जाते हैं. सूची में तब, एलिमेंट के लौटाए जाने का क्रम order
पैरामीटर से तय होता है. ज़्यादा जानकारी के लिए, घटाव की खास जानकारी देखें.
डिक्सेट के सभी एलिमेंट (डायरेक्ट और इनडायरेक्ट) एक ही तरह के होने चाहिए, जैसा कि एक्सप्रेशन type(x)
में मिला है.
हैश-आधारित सेट का इस्तेमाल बार-बार होने वाले डुप्लीकेट को हटाने के लिए किया जाता है, इसलिए डिसेट के सभी एलिमेंट हैश किए जाने चाहिए. हालांकि, फ़िलहाल, सभी कंस्ट्रक्टर में इस वैरिएंट की जांच एक जैसी नहीं की जाती है. लगातार जांचने की सुविधा चालू करने के लिए, --insupported_always_check_depset_एलिमेंट फ़्लैग का इस्तेमाल करें; यह आगे की रिलीज़ में डिफ़ॉल्ट व्यवहार होगा; समस्या 10313 देखें.
इसके अलावा, फ़िलहाल एलिमेंट में बदलाव नहीं हो सकता. हालांकि, आने वाले समय में इस सीमा में छूट मिलेगी.
बनाए गए डेपसेट का ऑर्डर, उसके transitive
डिसेट के क्रम के साथ काम करना चाहिए. "default"
ऑर्डर किसी भी दूसरे ऑर्डर पर काम करता है. इसके अलावा, बाकी सभी ऑर्डर सिर्फ़ उनके साथ काम करते हैं.
नोट में पीछे/आगे जाने की सुविधा है. फ़िलहाल, यह फ़ंक्शन पोज़िशनल items
पैरामीटर स्वीकार करता है. इसे रोका गया है. आने वाले समय में इसे हटा दिया जाएगा. इसके बाद, direct
depset
फ़ंक्शन का पोज़िशनल पैरामीटर बन जाएगा. इसलिए, ये दोनों कॉल एक जैसे हैं और आने वाले समय के लिए सुरक्षित हैं:
depset(['a', 'b'], transitive = [...]) depset(direct = ['a', 'b'], transitive = [...])
पैरामीटर
पैरामीटर | जानकारी |
---|---|
direct
|
sequence; or None ;
डिफ़ॉल्ट = कोई नहींकिसी डिफ़ॉल्ट एलिमेंट के डायरेक्ट एलिमेंट की सूची. |
order
|
डिफ़ॉल्ट = "डिफ़ॉल्ट" नए डेस्कटॉप के लिए ट्रैवर्सल रणनीति. संभावित वैल्यू के लिए यहां देखें. |
transitive
|
sequence of depsets; or None ;
डिफ़ॉल्ट = कोई नहींउन डेपसेट की सूची जिनके एलिमेंट, डिक्रिप्ट के इनडायरेक्ट एलिमेंट बन जाएंगे. |
शब्द
dict dict(pairs=[], **kwargs)किसी वैकल्पिक पोज़िशनल आर्ग्युमेंट और कीवर्ड आर्ग्युमेंट के एक वैकल्पिक सेट से शब्दकोश बनाता है. एक ही कुंजी कई बार दिए जाने पर, आखिरी वैल्यू का इस्तेमाल किया जाएगा. कीवर्ड आर्ग्युमेंट से मिलने वाली एंट्री, पोज़िशनल आर्ग्युमेंट के ज़रिए डाली गई एंट्री के बाद की मानी जाती हैं.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
pairs
|
डिफ़ॉल्ट = [] एक निर्देश या बार-बार देखा जा सकने वाला एलिमेंट, जिसमें हर एलिमेंट की लंबाई 2 (की, वैल्यू) होती है. |
kwargs
|
ज़रूरी है अतिरिक्त एंट्री की डिक्शनरी. |
Dir
list dir(x)स्ट्रिंग की सूची दिखाता है: एट्रिब्यूट ऑब्जेक्ट के नाम और पैरामीटर ऑब्जेक्ट के तरीके.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
x
|
ज़रूरी है जांचने के लिए ऑब्जेक्ट. |
गिनती करो
list enumerate(list, start=0)इंडेक्स (int) और इनपुट क्रम से आइटम के साथ, जोड़े (दो-एलिमेंट ट्यूपल) की सूची दिखाता है.
enumerate([24, 21, 84]) == [(0, 24), (1, 21), (2, 84)]
पैरामीटर
पैरामीटर | जानकारी |
---|---|
list
|
इनपुट ज़रूरी हैं. |
start
|
डिफ़ॉल्ट = 0 शुरू होने का इंडेक्स. |
exec_group
exec_group exec_group(toolchains=[], exec_compatible_with=[], copy_from_rule=False)एक एक्ज़ीक्यूशन ग्रुप बनाता है. इसका इस्तेमाल नियम लागू करने के दौरान, किसी खास एक्ज़ीक्यूशन प्लैटफ़ॉर्म के लिए कार्रवाइयां बनाने के लिए किया जा सकता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
toolchains
|
sequence ;
डिफ़ॉल्ट = []इस एक्ज़ीक्यूशन ग्रुप के लिए ज़रूरी टूल चेन का सेट. सूची में स्ट्रिंग, लेबल या StarlarkToolchainTypeApi ऑब्जेक्ट शामिल हो सकते हैं. |
exec_compatible_with
|
sequence of strings ;
डिफ़ॉल्ट = []एक्ज़ीक्यूशन प्लैटफ़ॉर्म पर कंस्ट्रेंट की सूची. |
copy_from_rule
|
डिफ़ॉल्ट = गलत अगर 'सही है' पर सेट किया जाता है, तो इस exec ग्रुप को उन टूलचेन और कंस्ट्रेंट को इनहेरिट किया जाता है जिन पर यह ग्रुप अटैच होता है. अगर इसे किसी दूसरी स्ट्रिंग पर सेट किया जाता है, तो गड़बड़ी मिलेगी. |
फ़ेल
None fail(msg=None, attr=None, *args)इससे, एक्ज़ीक्यूशन के दौरान कोई गड़बड़ी होती है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
msg
|
डिफ़ॉल्ट = कुछ नहीं अब इस्तेमाल में नहीं है: इसके बजाय पोज़िशनल आर्ग्युमेंट का इस्तेमाल करें. यह आर्ग्युमेंट, एक इंपोज़िशनल पोज़िशनल आर्ग्युमेंट आर्ग्युमेंट की तरह काम करता है. |
attr
|
string; or None ;
डिफ़ॉल्ट = कोई नहींहटा दिया गया. इसकी वजह से, वैकल्पिक मैसेज का प्रीफ़िक्स, गड़बड़ी के मैसेज में जुड़ जाता है. |
args
|
ज़रूरी है गड़बड़ी के मैसेज में दिखने वाली वैल्यू की सूची, जिसे str के साथ फ़ॉर्मैट किया जाता है और जिसमें स्पेस का इस्तेमाल किया जाता है. |
फ़्लोट
float float(x=unbound)एक फ़्लोट मान के रूप में x देता है.
- अगर
x
पहले से ही फ़्लोट है, तोfloat
इसे नहीं बदलता है. - अगर
x
बूल है, तोfloat
, True के लिए 1.0 और 'गलत' के लिए 0.0 दिखाता है. - अगर
x
कोई पूर्णांक है, तोfloat
सबसे पास के फ़्लोटिंग-पॉइंट की वैल्यू को x पर दिखाता है. अगर वैल्यू बहुत बड़ी होती है, तो गड़बड़ी दिखती है. - अगर
x
एक स्ट्रिंग है, तो यह एक मान्य फ़्लोटिंग-पॉइंट लिटरल होना चाहिए याNaN
(Inf
), याInfinity
के बराबर होना चाहिए. इसके आगे,+
या-
चिह्न होना चाहिए.
float()
0.0 दिखाता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
x
|
डिफ़ॉल्ट = अनबाउंड बदला जाने वाला मान. |
Getattr
unknown getattr(x, name, default=unbound)अगर दिए गए नाम के स्ट्रक्चर का फ़ील्ड मौजूद है, तो उसे दिखाता है. अगर नहीं, तो यह
default
दिखाता है (अगर बताया गया हो) या इससे गड़बड़ी पैदा होती है. getattr(x, "foobar")
, x.foobar
के बराबर है.getattr(ctx.attr, "myattr") getattr(ctx.attr, "myattr", "mydefault")
पैरामीटर
पैरामीटर | जानकारी |
---|---|
x
|
ज़रूरी वह स्ट्रक्चर जिसके एट्रिब्यूट को ऐक्सेस किया जाता है. |
name
|
ज़रूरी स्ट्रक्चर्ड एट्रिब्यूट का नाम. |
default
|
डिफ़ॉल्ट = अनबाउंड हो सकता है कि स्ट्रक्चर में दिए गए नाम को एट्रिब्यूट न हो, इसके लिए डिफ़ॉल्ट वैल्यू. |
git_Override
None git_override(module_name, remote, commit='', patches=[], patch_cmds=[], patch_strip=0)इस नीति से यह पता चलता है कि डिपेंडेंसी, Git डेटा स्टोर करने की किसी खास जगह के आधार पर होनी चाहिए. इस निर्देश का इस्तेमाल सिर्फ़ रूट मॉड्यूल के लिए किया जा सकता है. दूसरे शब्दों में, अगर कोई मॉड्यूल किसी भी ओवरराइड को तय करता है, तो दूसरे लोग उसे डिपेंडेंसी के तौर पर इस्तेमाल नहीं कर सकते.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
module_name
|
ज़रूरी है उस ओवरराइड पर लागू करने के लिए Bazel मॉड्यूल की डिपेंडेंसी का नाम. |
remote
|
ज़रूरी है Git का डेटा स्टोर करने की रिमोट जगह का यूआरएल. |
commit
|
डिफ़ॉल्ट = '' वह प्रतिबद्धता जिसे चेक आउट किया जाना चाहिए. |
patches
|
Iterable of strings ;
डिफ़ॉल्ट = []इस मॉड्यूल के लिए लागू होने वाले पैच फ़ाइलों पर ले जाने वाले लेबल की सूची. पैच फ़ाइलें टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. उन्हें सूची के क्रम में लागू किया जाता है. |
patch_cmds
|
Iterable of strings ;
डिफ़ॉल्ट = []पैच लागू होने के बाद, Linux/Macos पर Bash कमांड का क्रम लागू करें. |
patch_strip
|
डिफ़ॉल्ट = 0 Unix पैच के --strip आर्ग्युमेंट के जैसा. |
Hasattr
bool hasattr(x, name)अगर ऑब्जेक्ट
x
में, name
दिए गए एट्रिब्यूट या तरीके हैं, तो True वैल्यू मिलती है. उदाहरण:hasattr(ctx.attr, "myattr")
पैरामीटर
पैरामीटर | जानकारी |
---|---|
x
|
ज़रूरी है जांचने के लिए ऑब्जेक्ट. |
name
|
ज़रूरी है एट्रिब्यूट का नाम. |
हैश
int hash(value)किसी स्ट्रिंग के लिए हैश वैल्यू रिटर्न करता है. इसका हिसाब लगाने के लिए,
String.hashCode()
के एल्गोरिदम की तरह ही एल्गोरिदम का इस्तेमाल किया जाता है. जैसे: s[0] * (31^(n-1)) + s[1] * (31^(n-2)) + ... + s[n-1]स्ट्रिंग के अलावा, दूसरी वैल्यू को फ़िलहाल हैश करने की सुविधा उपलब्ध नहीं है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
value
|
ज़रूरी है हैश करने के लिए स्ट्रिंग की वैल्यू. |
int
int int(x, base=unbound)किसी इंटेजर वैल्यू के तौर पर x दिखाता है.
- अगर
x
पहले से ही int है, तोint
इसे बिना किसी बदलाव के दिखाता है. - अगर
x
बूल है, तोint
, True के लिए 1 और 'गलत' के लिए 0 दिखाता है. - अगर
x
एक स्ट्रिंग है, तो उसका फ़ॉर्मैट<sign><prefix><digits>
होना चाहिए.<sign>
या तो"+"
,"-"
या खाली है (जिसे सही समझा जाता है).<digits>
, 0 से लेकरbase
- 1 तक के अंकों का क्रम होते हैं, जिनमें a-z (या उसी तरह से A-Z) अक्षरों का इस्तेमाल 10-35 अंकों के लिए किया जाता है.base
के 8/2/16 के मामले में,<prefix>
ज़रूरी नहीं है. 0b/0o/0x (या इसके बराबर, 0B/0O/0X) हो सकता है. अगर इन आधारों या खास मान 0 के अलावाbase
कोई और वैल्यू है, तो प्रीफ़िक्स खाली होना चाहिए. जहांbase
0 है, उस स्थिति में स्ट्रिंग को पूर्णांक लिटरल के तौर पर समझा जाता है. ऐसा इसलिए, क्योंकि अगर आधार का इस्तेमाल किया जाता है, तो 2/8/10/16 में से किसी एक आधार को चुना जाएगा. अगरbase
0 है, तो प्रीफ़िक्स का इस्तेमाल नहीं किया जाता है और एक से ज़्यादा अंक होते हैं, तो पहला अंक 0 नहीं हो सकता. ऐसा करने से, ऑक्टल और दशमलव के बीच भ्रम की स्थिति से बचा जाता है. स्ट्रिंग से दिखाई गई संख्या, कितनी ही बड़ी होनी चाहिए, यह इंटेजर के लिए मंज़ूर की गई सीमा में होनी चाहिए. - अगर
x
फ़्लोट है, तोint
फ़्लोट का मान लौटाता है, जो शून्य की ओर पूर्णांक होता है. अगर x कोई सीमित नहीं (NaN या इनफ़िनिटी) है, तो यह एक गड़बड़ी है.
x
कोई और टाइप है या वैल्यू ऐसी स्ट्रिंग है जो ऊपर दिए गए फ़ॉर्मैट के मुताबिक नहीं है, तो यह फ़ंक्शन काम नहीं करता. Python के int
फ़ंक्शन के उलट, यह फ़ंक्शन ज़ीरो आर्ग्युमेंट की अनुमति नहीं देता. साथ ही, यह स्ट्रिंग आर्ग्युमेंट के लिए बिना किसी वाइटस्पेस को अनुमति नहीं देता.उदाहरण:
int("123") == 123 int("-123") == -123 int("+123") == 123 int("FF", 16) == 255 int("0xFF", 16) == 255 int("10", 0) == 10 int("-0x10", 0) == -16 int("-0x10", 0) == -16 int("123.456") == 123
पैरामीटर
पैरामीटर | जानकारी |
---|---|
x
|
ज़रूरी है बदली जाने वाली स्ट्रिंग. |
base
|
डिफ़ॉल्ट = अनबाउंड स्ट्रिंग की वैल्यू को समझने के लिए इस्तेमाल किया जाने वाला बेस; डिफ़ॉल्ट रूप से 10. यह 2 से 36 के बीच होना चाहिए या फिर 0 होना चाहिए, ताकि आधार का पता लगाया जा सके जैसे कि x एक लिटरल वैल्यू थी. अगर वैल्यू कोई स्ट्रिंग नहीं है, तो यह पैरामीटर नहीं दिया जाना चाहिए.
|
लेन
int len(x)स्ट्रिंग, क्रम (जैसे कि कोई सूची या टुपल), वाद्य या अन्य इटरेट करने की लंबाई देता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
x
|
ज़रूरी है वह वैल्यू जिसकी रिपोर्ट करनी है. |
सूची
list list(x=[])दिए गए फिर से शुरू करने लायक मान के रूप में समान तत्वों वाली नई सूची देता है.
list([1, 2]) == [1, 2] list((2, 3, 2)) == [2, 3, 2] list({5: "a", 2: "b", 4: "c"}) == [5, 2, 4]
पैरामीटर
पैरामीटर | जानकारी |
---|---|
x
|
डिफ़ॉल्ट = [] बदला जाने वाला ऑब्जेक्ट. |
local_path_Override
None local_path_override(module_name, path)यह बताता है कि कोई डिपेंडेंसी लोकल डिस्क की किसी खास डायरेक्ट्री से होनी चाहिए. इस निर्देश का इस्तेमाल सिर्फ़ रूट मॉड्यूल के लिए किया जा सकता है. दूसरे शब्दों में, अगर कोई मॉड्यूल किसी भी ओवरराइड को तय करता है, तो दूसरे लोग उसे डिपेंडेंसी के तौर पर इस्तेमाल नहीं कर सकते.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
module_name
|
ज़रूरी है उस ओवरराइड पर लागू करने के लिए Bazel मॉड्यूल की डिपेंडेंसी का नाम. |
path
|
ज़रूरी उस डायरेक्ट्री का पाथ जहां यह मॉड्यूल है. |
ज़्यादा से ज़्यादा
unknown max(*args)दिए गए सभी तर्कों में से सबसे बड़ा तर्क देता है. अगर सिर्फ़ एक आर्ग्युमेंट दिया गया है, तो वह ऐसा होना चाहिए जिसे खाली न छोड़ा जा सके.ऐसा तब होता है, जब एलिमेंट की तुलना नहीं की जा सकती (उदाहरण के लिए, स्ट्रिंग के साथ int) या कोई आर्ग्युमेंट नहीं दिया जाता.
max(2, 5, 4) == 5 max([5, 6, 3]) == 6
पैरामीटर
पैरामीटर | जानकारी |
---|---|
args
|
ज़रूरी है जांच किए जाने वाले एलिमेंट. |
मि
unknown min(*args)दिए गए सभी तर्कों में से सबसे छोटा तर्क देता है. अगर सिर्फ़ एक आर्ग्युमेंट दिया गया है, तो ऐसे में उसे खाली नहीं छोड़ा जा सकता. अगर एलिमेंट तुलना करने लायक नहीं हैं (उदाहरण के लिए, स्ट्रिंग के साथ int) या कोई तर्क नहीं दिया गया है, तो यह एक गड़बड़ी है.
min(2, 5, 4) == 2 min([5, 6, 3]) == 3
पैरामीटर
पैरामीटर | जानकारी |
---|---|
args
|
ज़रूरी है जांच किए जाने वाले एलिमेंट. |
मॉड्यूल
None module(name='', version='', compatibility_level=0, repo_name='', bazel_compatibility=[])Bazel मॉड्यूल की कुछ प्रॉपर्टी का एलान किया जाता है, जो मौजूदा Bazel Repo से पता चलता है. ये प्रॉपर्टी, मॉड्यूल का ज़रूरी मेटाडेटा होती हैं (जैसे कि नाम और वर्शन) या मौजूदा मॉड्यूल और इसके डिपेंडेंट के व्यवहार पर असर डालती हैं.
इसे ज़्यादा से ज़्यादा एक बार कॉल किया जाना चाहिए. इसे सिर्फ़ तभी छोड़ा जा सकता है, जब यह मॉड्यूल रूट मॉड्यूल हो (जैसे, अगर यह किसी दूसरे मॉड्यूल पर निर्भर न हो).
पैरामीटर
पैरामीटर | जानकारी |
---|---|
name
|
डिफ़ॉल्ट = '' मॉड्यूल का नाम. इसे सिर्फ़ तभी छोड़ा जा सकता है, जब यह मॉड्यूल रूट मॉड्यूल हो (जैसे, अगर यह किसी दूसरे मॉड्यूल पर निर्भर न हो). किसी मान्य मॉड्यूल नाम में: 1) सिर्फ़ अंग्रेज़ी के छोटे अक्षर (a-z), अंक (0-9), बिंदु (.), हाइफ़न (-), और अंडरस्कोर (_); 2) अंग्रेज़ी के छोटे अक्षर से शुरू होने चाहिए, 3) से अंग्रेज़ी के छोटे अक्षर या अंक से शुरू होने चाहिए. |
version
|
डिफ़ॉल्ट = '' मॉड्यूल का वर्शन. इसे सिर्फ़ तभी छोड़ा जा सकता है, जब यह मॉड्यूल रूट मॉड्यूल हो (जैसे, अगर यह किसी दूसरे मॉड्यूल पर निर्भर न हो). यह वर्शन, SemVer फ़ॉर्मैट में होना चाहिए. ज़्यादा जानकारी के लिए, दस्तावेज़ पढ़ें. |
compatibility_level
|
डिफ़ॉल्ट = 0 मॉड्यूल का कम्पैटबिलटी लेवल; हर बार बदलाव करते समय, इसे बड़ा बदलाव करने के लिए बदला जाना चाहिए. यह असल में, SemVer के संदर्भ में मॉड्यूल का "मेजर वर्शन" है. हालांकि, यह वर्शन स्ट्रिंग में एम्बेड नहीं किया जाता, लेकिन यह एक अलग फ़ील्ड के तौर पर मौजूद होता है. अलग-अलग कम्पैटबिलटी लेवल वाले मॉड्यूल, वर्शन रिज़ॉल्यूशन में इस तरह से शामिल होते हैं जैसे कि वे अलग-अलग नामों वाले मॉड्यूल हों. हालांकि, आखिरी डिपेंडेंसी ग्राफ़ में एक ही नाम वाले अलग-अलग मॉड्यूल नहीं हो सकते, लेकिन अलग-अलग कमिटी लेवल हैं (जब तक कि multiple_version_override लागू न हो). ज़्यादा जानकारी के लिए, दस्तावेज़ देखें.
|
repo_name
|
डिफ़ॉल्ट = '' इस मॉड्यूल को दिखाने वाले रिपॉज़िटरी का नाम, जिसे मॉड्यूल में देखा जा सकता है. डिफ़ॉल्ट रूप से, डेटाबेस का नाम मॉड्यूल का नाम होता है. इसे उन प्रोजेक्ट के लिए माइग्रेशन को आसान बनाने के लिए दिया जा सकता है जो अपने मॉड्यूल के नाम से अलग repo नाम का इस्तेमाल करते हैं. |
bazel_compatibility
|
Iterable of strings ;
डिफ़ॉल्ट = []बेज़ल वर्शन की सूची, जिससे उपयोगकर्ता यह एलान कर सकते हैं कि कौनसे मॉड्यूल वर्शन के साथ काम करते हैं. इससे डिपेंडेंसी रिज़ॉल्यूशन पर कोई असर नहीं पड़ता है, लेकिन bzlmod इस जानकारी का इस्तेमाल यह देखने के लिए करेगा कि आपका अभी वाला Bazel वर्शन इसके साथ काम करता है या नहीं. इस वैल्यू का फ़ॉर्मैट, कंस्ट्रेंट की कुछ वैल्यू की स्ट्रिंग होती है, जिन्हें कॉमा से अलग किया जाता है. तीन कंस्ट्रेंट काम करते हैं: <=X.X.X: Bazel वर्शन X.X.X के बराबर या उससे पुराना होना चाहिए. इसका इस्तेमाल तब किया जाता है, जब किसी नए वर्शन में काम न करने वाला बदलाव दिखता है. >=X.X.X: Bazel का वर्शन X.X.X के बराबर या उससे नया होना चाहिए. इसका इस्तेमाल तब किया जाता है, जब आप X.X.X. -X.X.X के बाद से उपलब्ध होने वाली कुछ सुविधाओं पर निर्भर होते हैं. Bazel वर्शन X.X.X काम नहीं करता. X.X.X में कोई गड़बड़ी होने पर, इसका इस्तेमाल किया जाता है. यह गड़बड़ी बाद में ठीक होती रहती है. |
मॉड्यूल_एक्सटेंशन
unknown module_extension(implementation, *, tag_classes={}, doc='')नया मॉड्यूल एक्सटेंशन बनाता है. इसे किसी ग्लोबल वैल्यू में सेव करें, ताकि इसे MODULE.bazel फ़ाइल में एक्सपोर्ट और इस्तेमाल किया जा सके.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
implementation
|
ज़रूरी इस मॉड्यूल एक्सटेंशन को लागू करने वाला फ़ंक्शन. सिर्फ़ एक पैरामीटर, module_ctx लेना होगा. उपलब्ध डेटा संग्रह का सेट तय करने के लिए, फ़ंक्शन को बिल्ड की शुरुआत में एक बार कॉल किया जाता है.
|
tag_classes
|
डिफ़ॉल्ट = {} शब्दकोश, एक्सटेंशन में इस्तेमाल किए गए सभी टैग क्लास के बारे में बताता है. यह, टैग क्लास के नाम से tag_class ऑब्जेक्ट तक मैप करता है.
|
doc
|
डिफ़ॉल्ट = '' मॉड्यूल एक्सटेंशन का ब्यौरा, जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
एकाधिक_वर्शन_ओवरराइड
None multiple_version_override(module_name, versions, registry='')यह बताता है कि डिपेंडेंसी अब भी रजिस्ट्री से आनी चाहिए. हालांकि, इसके कई वर्शन एक साथ मौजूद होने चाहिए. ज़्यादा जानकारी के लिए, दस्तावेज़ देखें. इस निर्देश का इस्तेमाल सिर्फ़ रूट मॉड्यूल के लिए किया जा सकता है. दूसरे शब्दों में, अगर कोई मॉड्यूल किसी भी ओवरराइड को तय करता है, तो दूसरे लोग उसे डिपेंडेंसी के तौर पर इस्तेमाल नहीं कर सकते.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
module_name
|
ज़रूरी है उस ओवरराइड पर लागू करने के लिए Bazel मॉड्यूल की डिपेंडेंसी का नाम. |
versions
|
Iterable of strings ;
ज़रूरी हैउन वर्शन के बारे में साफ़ तौर पर बताता है जिन्हें एक साथ इस्तेमाल किया जा सकता है. इन वर्शन को पहले से ही डिपेंडेंसी ग्राफ़ में चुना जाना चाहिए. इस मॉड्यूल के डिपेंडेंसी को, उसी कम्पैटबिलटी लेवल पर "अपग्रेड किया गया" वर्शन के सबसे नज़दीकी वर्शन पर अपग्रेड किया जाएगा. हालांकि, ऐसी डिपेंडेंसी जो किसी वर्शन के साथ काम करने वाले वर्शन की तुलना में ज़्यादा काम करती हैं, उनमें गड़बड़ी होगी. |
registry
|
डिफ़ॉल्ट = '' इस मॉड्यूल के लिए रजिस्ट्री को बदलता है; रजिस्ट्री की डिफ़ॉल्ट सूची से इस मॉड्यूल को ढूंढने के बजाय, दी गई रजिस्ट्री का इस्तेमाल किया जाना चाहिए. |
प्रिंट करें
None print(sep=" ", *args)
args
को डीबग आउटपुट के तौर पर प्रिंट किया जाता है. इसकी शुरुआत में "DEBUG"
स्ट्रिंग और इस कॉल की जगह (फ़ाइल और लाइन नंबर) होगी. आर्ग्युमेंट को स्ट्रिंग में बदलने का तरीका, तय नहीं है और किसी भी समय बदल सकता है. खास तौर पर, यह str()
और repr()
की फ़ॉर्मैटिंग से अलग हो सकता है (और ज़्यादा जानकारी वाला).उपयोगकर्ताओं के लिए बनाए गए स्पैम की वजह से, प्रोडक्शन कोड में print
का इस्तेमाल करने की सलाह नहीं दी जाती. समर्थन नहीं होने या रोके जाने के मामले में, fail()
का इस्तेमाल करके हार्ड गड़बड़ी ढूंढें.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
sep
|
डिफ़ॉल्ट = " " ऑब्जेक्ट के बीच में सेपरेटर स्ट्रिंग, डिफ़ॉल्ट स्पेस है (" "). |
args
|
ज़रूरी है प्रिंट किए जाने वाले ऑब्जेक्ट. |
सामग्री देने वाले का नाम
unknown provider(doc='', *, fields=None, init=None)इससे सेवा देने वाली कंपनी के चिह्न के बारे में पता चलता है. सेवा देने वाली कंपनी को कॉल करके इंस्टैंशिएट किया जा सकता है या टारगेट से उस कंपनी के इंस्टेंस को वापस पाने के लिए, सीधे कुंजी के तौर पर इस्तेमाल किया जा सकता है. उदाहरण:
MyInfo = provider() ... def _my_library_impl(ctx): ... my_info = MyInfo(x = 2, y = 3) # my_info.x == 2 # my_info.y == 3 ...
सेवा देने वाली कंपनियों के इस्तेमाल के तरीके से जुड़ी पूरी जानकारी देने वाली गाइड के लिए, नियम (सेवा देने वाली कंपनी) देखें.
अगर init
नहीं बताया गया है, तो Provider
कॉल किया जा सकने वाला मान दिखाता है.
अगर init
तय किया गया है, तो दो एलिमेंट का एक ट्यूपल रिटर्न करता है: Provider
कॉल किया जा सकने वाला मान और एक रॉ कंस्ट्रक्टर कॉल किया जा सकने वाला वैल्यू. ज़्यादा जानकारी के लिए, नियम (कस्टम प्रोवाइडर का कस्टम शुरू करना) और init
पैरामीटर पर चर्चा देखें.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
doc
|
डिफ़ॉल्ट = '' प्रोवाइडर की जानकारी, जिसे दस्तावेज़ बनाने वाले टूल की मदद से निकाला जा सकता है. |
fields
|
sequence of strings; or dict; or None ;
डिफ़ॉल्ट = कोई नहींअगर बताया गया हो, तो फ़ील्ड के सेट को प्रतिबंधित करता है. संभावित मान हैं:
|
init
|
callable; or None ;
डिफ़ॉल्ट = कोई नहींइंस्टैंशिएशन के दौरान, सेवा देने वाली कंपनी के फ़ील्ड वैल्यू को पहले से प्रोसेस करने और उनकी पुष्टि करने के लिए, वैकल्पिक कॉलबैक. अगर init तय किया गया है, तो provider() दो एलिमेंट का टपल लौटाता है: सामान्य प्रोवाइडर सिंबल और रॉ कंस्ट्रक्टर.सटीक ब्यौरा नीचे दिया गया है; आसान चर्चा और इस्तेमाल के उदाहरणों के लिए, नियम (सेवा देने वाली कंपनियों को पसंद के मुताबिक बनाना) देखें.
init कॉलबैक नहीं दिया जाता है, तो P चिह्न पर कॉल करने से, डिफ़ॉल्ट कंस्ट्रक्टर फ़ंक्शन c को कॉल होता है. दूसरे शब्दों में, P(*args, **kwargs) , c(*args, **kwargs) दिखाता है. उदाहरण के लिए,MyInfo = provider() m = MyInfo(foo = 1)आसान तरीका बना देगा, ताकि m.foo == 1 के साथ m एक MyInfo इंस्टेंस बन जाए.लेकिन अगर
ध्यान दें: ऊपर दिए गए चरणों से पता चलता है कि कोई गड़बड़ी तब होती है, जब इस तरह,
MyInfo, _new_myinfo = provider(init = ...) |
सीमा
sequence range(start_or_stop, stop_or_none=None, step=1)
step
इंक्रीमेंट का इस्तेमाल करके, ऐसी सूची बनाता है जहां आइटम start
से stop
पर जाते हैं. अगर एक आर्ग्युमेंट दिया गया है, तो आइटम की वैल्यू 0 से लेकर उस एलिमेंट तक होगी.range(4) == [0, 1, 2, 3] range(3, 9, 2) == [3, 5, 7] range(3, 0, -1) == [3, 2, 1]
पैरामीटर
पैरामीटर | जानकारी |
---|---|
start_or_stop
|
ज़रूरी है अगर स्टॉप दिया गया है, तो शुरुआती एलिमेंट का मान, नहीं तो स्टॉप का मान और शुरुआत की वैल्यू 0 होती है |
stop_or_none
|
int; or None ;
डिफ़ॉल्ट = नतीजे के तौर पर मिलने वाली सूची में शामिल होने के लिए, पहले आइटम का वैकल्पिक इंडेक्स नहीं होता है; stop पहुंचने से पहले, सूची जनरेट होना बंद हो जाता है.
|
step
|
डिफ़ॉल्ट = 1 बढ़ोतरी (डिफ़ॉल्ट 1 है). यह नतीजा नेगेटिव हो सकता है. |
रजिस्टर_execution_platforms()
None register_execution_platforms(*platform_labels)पहले से तय किया गया प्लैटफ़ॉर्म रजिस्टर करें, ताकि टूलचेन रिज़ॉल्यूशनके दौरान Bazel, उसे एक्ज़ीक्यूशन प्लैटफ़ॉर्म के तौर पर इस्तेमाल कर सके.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
platform_labels
|
sequence of strings ;
ज़रूरी हैरजिस्टर करने के लिए प्लैटफ़ॉर्म के लेबल. |
रजिस्टर_execution_platforms()
None register_execution_platforms(*platform_labels)यह मॉड्यूल चुने जाने पर, पहले से तय एक्ज़ीक्यूशन प्लैटफ़ॉर्म के लिए रजिस्टर होना तय करता है. सटीक टारगेट पैटर्न होना चाहिए (यानी कि
@
या //
से शुरू). ज़्यादा जानकारी के लिए, टूलचेन रिज़ॉल्यूशन देखें.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
platform_labels
|
sequence of strings ;
ज़रूरी हैरजिस्टर करने के लिए प्लैटफ़ॉर्म के लेबल. |
रजिस्टर_टूलचेन(())
None register_toolchains(*toolchain_labels)पहले से तय टूलचेन रजिस्टर करें, ताकि Bazel, टूलचेन रिज़ॉल्यूशन के दौरान इसका इस्तेमाल कर सके. तय करने और टूलचेन को रजिस्टर करने के उदाहरण देखें.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
toolchain_labels
|
sequence of strings ;
ज़रूरी हैरजिस्टर करने के लिए, टूलचेन के लेबल. |
रजिस्टर_टूलचेन(())
None register_toolchains(*toolchain_labels)यह मॉड्यूल चुने जाने पर, पहले से तय टूलचेन के बारे में बताता है. सटीक टारगेट पैटर्न होना चाहिए (यानी कि
@
या //
से शुरू). ज़्यादा जानकारी के लिए, टूलचेन रिज़ॉल्यूशन देखें.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
toolchain_labels
|
sequence of strings ;
ज़रूरी हैरजिस्टर करने के लिए, टूलचेन के लेबल. |
रिपॉज़िटरी_नियम(लागू करना, attr, लोकल, एनवायरमेंट, कॉन्फ़िगर करना, और बदलाव करने लायक, दस्तावेज़)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')डेटा स्टोर करने की नई जगह का नियम बनाता है. इसे ग्लोबल वैल्यू में सेव करें, ताकि इसे WORKSPACE फ़ाइल से लोड किया जा सके और कॉल किया जा सके.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
implementation
|
इस नियम को लागू करने वाला फ़ंक्शन. एक पैरामीटर repository_ctx होना चाहिए. नियम के हर इंस्टेंस की लोडिंग अवधि के दौरान फ़ंक्शन को कॉल किया जाता है.
|
attrs
|
dict; or None ;
डिफ़ॉल्ट = कोई नहींडिक्शनरी, जिसमें नियम के सभी एट्रिब्यूट की जानकारी दी गई हो. यह एट्रिब्यूट के नाम से किसी एट्रिब्यूट ऑब्जेक्ट तक मैप करता है (attr मॉड्यूल देखें). _ से शुरू होने वाले एट्रिब्यूट निजी होते हैं. इनका इस्तेमाल, फ़ाइल पर किसी लेबल के लिए इंडिपेंडेंट डिपेंडेंसी जोड़ने के लिए किया जा सकता है. डेटा स्टोर करने के नियम का डेटा, जनरेट किए गए आर्टफ़ैक्ट पर निर्भर नहीं हो सकता. एट्रिब्यूट name जोड़ा गया है और उसे बताया नहीं जाना चाहिए.
|
local
|
डिफ़ॉल्ट = गलत बताएं कि यह नियम लोकल सिस्टम से हर चीज़ फ़ेच करता है और हर फ़ेच पर उसका फिर से मूल्यांकन होना चाहिए. |
environ
|
sequence of strings ;
डिफ़ॉल्ट = []एनवायरमेंट वैरिएबल की सूची देता है, जो डेटा स्टोर करने के इस नियम पर निर्भर करता है. अगर उस सूची में शामिल एनवायरमेंट वैरिएबल बदलता है, तो रिपॉज़िटरी को फिर से फ़ेच किया जाएगा. |
configure
|
डिफ़ॉल्ट = गलत बताएं कि रिपॉज़िटरी, कॉन्फ़िगरेशन के मकसद के लिए सिस्टम की जांच करता है |
remotable
|
डिफ़ॉल्ट = गलत प्रयोग के लिए. इस पैरामीटर पर प्रयोग किया जा रहा है और यह किसी भी समय बदल सकता है. कृपया इस पर निर्भर न रहें. ---experimental_repo_remote_exec को रिमोट तरीके से इस्तेमाल करने की सुविधा सेट करके, इसे प्रयोग के तौर पर चालू किया जा सकता है |
doc
|
डिफ़ॉल्ट = '' डेटा स्टोर करने के नियम का ब्यौरा, जिसे दस्तावेज़ बनाने वाले टूल से निकाला जा सकता है. |
रिपॉज़िटरी_नियम(लागू करना, attr, लोकल, एनवायरमेंट, कॉन्फ़िगर करना, और बदलाव करने लायक, दस्तावेज़)
callable repository_rule(implementation, *, attrs=None, local=False, environ=[], configure=False, remotable=False, doc='')डेटा स्टोर करने की नई जगह का नियम बनाता है. इसे ग्लोबल वैल्यू में सेव करें, ताकि इसे WORKSPACE फ़ाइल से लोड किया जा सके और कॉल किया जा सके.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
implementation
|
इस नियम को लागू करने वाला फ़ंक्शन. एक पैरामीटर repository_ctx होना चाहिए. नियम के हर इंस्टेंस की लोडिंग अवधि के दौरान फ़ंक्शन को कॉल किया जाता है.
|
attrs
|
dict; or None ;
डिफ़ॉल्ट = कोई नहींडिक्शनरी, जिसमें नियम के सभी एट्रिब्यूट की जानकारी दी गई हो. यह एट्रिब्यूट के नाम से किसी एट्रिब्यूट ऑब्जेक्ट तक मैप करता है (attr मॉड्यूल देखें). _ से शुरू होने वाले एट्रिब्यूट निजी होते हैं. इनका इस्तेमाल, फ़ाइल पर किसी लेबल के लिए इंडिपेंडेंट डिपेंडेंसी जोड़ने के लिए किया जा सकता है. डेटा स्टोर करने के नियम का डेटा, जनरेट किए गए आर्टफ़ैक्ट पर निर्भर नहीं हो सकता. एट्रिब्यूट name जोड़ा गया है और उसे बताया नहीं जाना चाहिए.
|
local
|
डिफ़ॉल्ट = गलत बताएं कि यह नियम लोकल सिस्टम से हर चीज़ फ़ेच करता है और हर फ़ेच पर उसका फिर से मूल्यांकन होना चाहिए. |
environ
|
sequence of strings ;
डिफ़ॉल्ट = []एनवायरमेंट वैरिएबल की सूची देता है, जो डेटा स्टोर करने के इस नियम पर निर्भर करता है. अगर उस सूची में शामिल एनवायरमेंट वैरिएबल बदलता है, तो रिपॉज़िटरी को फिर से फ़ेच किया जाएगा. |
configure
|
डिफ़ॉल्ट = गलत बताएं कि रिपॉज़िटरी, कॉन्फ़िगरेशन के मकसद के लिए सिस्टम की जांच करता है |
remotable
|
डिफ़ॉल्ट = गलत प्रयोग के लिए. इस पैरामीटर पर प्रयोग किया जा रहा है और यह किसी भी समय बदल सकता है. कृपया इस पर निर्भर न रहें. ---experimental_repo_remote_exec को रिमोट तरीके से इस्तेमाल करने की सुविधा सेट करके, इसे प्रयोग के तौर पर चालू किया जा सकता है |
doc
|
डिफ़ॉल्ट = '' डेटा स्टोर करने के नियम का ब्यौरा, जिसे दस्तावेज़ बनाने वाले टूल से निकाला जा सकता है. |
जवाब दें
string repr(x)यह ऑब्जेक्ट को किसी स्ट्रिंग दिखाने में बदलता है. यह डीबग करने के लिए फ़ायदेमंद है.
repr("ab") == '"ab"'
पैरामीटर
पैरामीटर | जानकारी |
---|---|
x
|
ज़रूरी है कन्वर्ज़न के लिए ऑब्जेक्ट. |
वापस किया गया
list reversed(sequence)एक नई, बिना फ़्रीज़ की गई सूची देता है जिसमें मूल क्रम में लगाने वाले क्रम के तत्व उल्टे क्रम में होते हैं.
reversed([3, 5, 4]) == [4, 5, 3]
पैरामीटर
पैरामीटर | जानकारी |
---|---|
sequence
|
ज़रूरी है बार-बार होने वाले क्रम (जैसे कि सूची) को उलटना होगा. |
नियम
callable rule(implementation, test=False, attrs=None, outputs=None, executable=False, output_to_genfiles=False, fragments=[], host_fragments=[], _skylark_testable=False, toolchains=[], incompatible_use_toolchain_transition=False, doc='', *, provides=[], exec_compatible_with=[], analysis_test=False, build_setting=None, cfg=None, exec_groups=None, compile_one_filetype=None, name=None)एक नया नियम बनाता है, जिसे टारगेट बनाने के लिए BUILD फ़ाइल या मैक्रो से कॉल किया जा सकता है.
नियमों को .bzl फ़ाइल में ग्लोबल वैरिएबल को असाइन किया जाना चाहिए; ग्लोबल वैरिएबल का नाम नियम का नाम होता है.
टेस्ट के नियमों के लिए, _test
से खत्म होने वाला नाम ज़रूरी है, जबकि बाकी सभी नियमों में यह सफ़िक्स नहीं होना चाहिए. (यह पाबंदी सिर्फ़ नियमों पर लागू होती है, उनके टारगेट पर नहीं.)
पैरामीटर
पैरामीटर | जानकारी |
---|---|
implementation
|
ज़रूरी है इस नियम को लागू करने के लिए, Starlark फ़ंक्शन का एक पैरामीटर होना ज़रूरी है: ctx. नियम के हर इंस्टेंस के लिए, विश्लेषण के चरण में फ़ंक्शन को कॉल किया जाता है. यह उपयोगकर्ता के दिए गए एट्रिब्यूट को ऐक्सेस कर सकता है. साथ ही, एलान किए गए सभी आउटपुट को जनरेट करने के लिए, कार्रवाइयां बनानी होंगी. |
test
|
डिफ़ॉल्ट = गलत यह नियम एक टेस्ट नियम है या नहीं, यह blaze test निर्देश के तहत आता है या नहीं. टेस्ट के सभी नियमों को अपने-आप एक्ज़ीक्यूटेबल माना जाता है; टेस्ट नियम के लिए, executable = True को साफ़ तौर पर सेट करना ज़रूरी नहीं है (इसका सुझाव नहीं दिया जाता है). ज़्यादा जानकारी के लिए, नियमों वाला पेज देखें.
|
attrs
|
dict; or None ;
डिफ़ॉल्ट = कोई नहींडिक्शनरी, जिसमें नियम के सभी एट्रिब्यूट की जानकारी दी गई हो. यह एट्रिब्यूट के नाम से किसी एट्रिब्यूट ऑब्जेक्ट तक मैप करता है (attr मॉड्यूल देखें). _ से शुरू होने वाले एट्रिब्यूट निजी होते हैं. इनका इस्तेमाल, लेबल पर इंप्लिसिट डिपेंडेंसी जोड़ने के लिए किया जा सकता है. एट्रिब्यूट name जोड़ा गया है और उसे बताया नहीं जाना चाहिए. visibility , deprecation , tags , testonly , और features एट्रिब्यूट को शामिल किया गया है और इन्हें बदला नहीं जा सकता. ज़्यादातर नियमों के लिए सिर्फ़ कुछ एट्रिब्यूट की ज़रूरत होती है. मेमोरी के इस्तेमाल को सीमित करने के लिए, नियम फ़ंक्शन attr के साइज़ पर कैप लागू करता है.
|
outputs
|
dict; or None; or function ;
डिफ़ॉल्ट = कोई नहींबिना समर्थन वाला. यह पैरामीटर अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह ---incompatible_no_rule_outputs_param के साथ बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड जल्द ही हटा दिया जाएगा. इस पैरामीटर को रोक दिया गया है. इसके बजाय, OutputGroupInfo या attr.output का इस्तेमाल करने के लिए, नियम माइग्रेट करें. पहले से तय आउटपुट तय करने के लिए स्कीमा. उपयोगकर्ता, इस आर्ग्युमेंट की वैल्यू, कोई शब्दकोश या शब्दकोश बनाने वाला कॉलबैक फ़ंक्शन है. कॉलबैक, कंप्यूट किए गए डिपेंडेंसी एट्रिब्यूट की तरह काम करता है: फ़ंक्शन के पैरामीटर के नाम, नियम के एट्रिब्यूट से मिलते-जुलते हैं. उदाहरण के लिए, डिक्शनरी की हर एंट्री में पहले से बताया गया आउटपुट होता है. इसमें कुंजी एक आइडेंटिफ़ायर होती है और वैल्यू एक स्ट्रिंग टेंप्लेट होती है जो आउटपुट का लेबल तय करती है. नियम लागू करने के फ़ंक्शन में, आइडेंटिफ़ायर उस फ़ील्ड का नाम बन जाता है जिसे
व्यावहारिक तौर पर, प्लेसहोल्डर का सबसे सामान्य विकल्प |
executable
|
डिफ़ॉल्ट = गलत इस नियम को एक्ज़ीक्यूटेबल माना जाता है या नहीं, यानी कि इस पर blaze run निर्देश लागू हो सकता है या नहीं. ज़्यादा जानकारी के लिए, नियमों वाला पेज देखें.
|
output_to_genfiles
|
डिफ़ॉल्ट = गलत अगर सही है, तो फ़ाइलें, बिन डायरेक्ट्री के बजाय genfiles डायरेक्ट्री में जनरेट होंगी. जब तक आपको मौजूदा नियमों के साथ काम करने की ज़रूरत न हो (उदाहरण के लिए, C++ के लिए हेडर फ़ाइलें जनरेट करते समय), तब तक इस फ़्लैग को सेट न करें. |
fragments
|
sequence of strings ;
डिफ़ॉल्ट = []कॉन्फ़िगरेशन फ़्रैगमेंट के उन नामों की सूची जिनकी ज़रूरत टारगेट कॉन्फ़िगरेशन में होती है. |
host_fragments
|
sequence of strings ;
डिफ़ॉल्ट = []कॉन्फ़िगरेशन के उन हिस्सों के नाम जिनकी सूची को होस्ट कॉन्फ़िगरेशन में ज़रूरी है. |
_skylark_testable
|
डिफ़ॉल्ट = गलत (प्रयोग के तौर पर) सही होने पर, यह नियम उन कार्रवाइयों के लिए अपनी कार्रवाइयां दिखाएगा जिनकी जांच इस पर निर्भर करती है. इसके लिए, कार्रवाइयां की सुविधा देने वाली कंपनी का इस्तेमाल किया जाता है. सेवा देने वाली कंपनी, नियम के लिए भी ctx.created_action() को कॉल करके उपलब्ध होती है. इसका इस्तेमाल, सिर्फ़ Starlark के नियमों के विश्लेषण के समय की जांच करने के लिए किया जाना चाहिए. इस फ़्लैग को आने वाले समय में हटाया जा सकता है. |
toolchains
|
sequence ;
डिफ़ॉल्ट = []अगर यह सेट है, तो इस नियम के लिए ज़रूरी टूलचेन का सेट. सूची में स्ट्रिंग, लेबल या StarlarkToolchainTypeApi ऑब्जेक्ट शामिल हो सकते हैं. टूलचेन की जानकारी के लिए, मौजूदा प्लैटफ़ॉर्म की जांच की जाती है. साथ ही, इसे ctx.toolchain की मदद से, नियमों को लागू करने के तरीके के बारे में बताया जाता है.
|
incompatible_use_toolchain_transition
|
डिफ़ॉल्ट = गलत सुविधा बंद कर दी गई है, अब इसका इस्तेमाल नहीं किया जा रहा है और इसे हटा देना चाहिए. |
doc
|
डिफ़ॉल्ट = '' उस नियम का ब्यौरा जिसे दस्तावेज़ जनरेट करने वाले टूल से निकाला जा सकता है. |
provides
|
डिफ़ॉल्ट = [] सेवा देने वाली ऐसी कंपनियों की लिस्ट जिन्हें लागू करने की प्रोसेस लागू करनी होगी. अगर लागू करने का फ़ंक्शन, यहां दी गई किसी भी तरह की सेवा देने वाली कंपनी को उसके रिटर्न वैल्यू से हटा देता है, तो यह एक गड़बड़ी होती है. हालांकि, लागू करने की सुविधा में ऐसी दूसरी कंपनियां शामिल हो सकती हैं जो इस सूची में शामिल नहीं हैं. सूची का हर एलिमेंट |
exec_compatible_with
|
sequence of strings ;
डिफ़ॉल्ट = []एक्ज़ीक्यूशन प्लैटफ़ॉर्म पर लागू होने वाली पाबंदियों की सूची, जो इस तरह के नियम के सभी टारगेट पर लागू होती है. |
analysis_test
|
डिफ़ॉल्ट = गलत सही होने पर, इस नियम को विश्लेषण टेस्ट माना जाता है. ध्यान दें: विश्लेषण जांच के नियमों को मुख्य तौर पर Starlark की मुख्य लाइब्रेरी में मौजूद इन्फ़्रास्ट्रक्चर की मदद से तय किया जाता है. दिशा-निर्देश के लिए जांच करना देखें. अगर किसी नियम को विश्लेषण की जांच के नियम के तौर पर तय किया जाता है, तो वह अपनी विशेषताओं पर analysis_test_transition का इस्तेमाल करके तय किए गए कॉन्फ़िगरेशन ट्रांज़िशन का इस्तेमाल करने की अनुमति देता है, लेकिन कुछ पाबंदियों के लिए ऑप्ट-इन करता है:
|
build_setting
|
BuildSetting; or None ;
डिफ़ॉल्ट = कुछ नहींअगर सेट है, तो बताता है कि यह नियम किस तरह का build setting है. config मॉड्यूल देखें. अगर यह सेट किया गया है, तो इस नियम में "build_setting_default" नाम की ज़रूरी एट्रिब्यूट अपने-आप जुड़ जाती है, जिसमें टाइप की गई वैल्यू भी यहां मौजूद होती है.
|
cfg
|
डिफ़ॉल्ट = कुछ नहीं अगर यह सेट किया गया हो, तो कॉन्फ़िगरेशन ट्रांज़िशन पर कर्सर ले जाने पर, नियम विश्लेषण से पहले अपने कॉन्फ़िगरेशन पर लागू होगा. |
exec_groups
|
dict; or None ;
डिफ़ॉल्ट = कोई नहींएक्ज़ीक्यूशन ग्रुप के नाम (स्ट्रिंग) को exec_group पर सेट करें. अगर इस नीति को सेट किया जाता है, तो नियम एक ही टारगेट में, एक्ज़ीक्यूशन प्लैटफ़ॉर्म पर कार्रवाइयां कर सकते हैं. एक्ज़ीक्यूशन ग्रुप के दस्तावेज़ में ज़्यादा जानकारी देखें.
|
compile_one_filetype
|
sequence of strings; or None ;
डिफ़ॉल्ट = कोई नहींइसका इस्तेमाल --compile_one_dependency: अगर एक से ज़्यादा नियम, बताई गई फ़ाइल का इस्तेमाल करते हैं, तो क्या हमें इस नियम को दूसरों पर लागू करना होगा. |
name
|
string; or None ;
डिफ़ॉल्ट = कोई नहींबिना समर्थन वाला. यह पैरामीटर अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह --+incompatible_remove_rule_name_parameter के साथ बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड जल्द ही हटा दिया जाएगा. बिना समर्थन वाले टैग: इस्तेमाल न करें. इस नियम का नाम, जैसा कि बैज़ल ने समझ लिया था और लॉगिंग, अगर इस पैरामीटर को शामिल नहीं किया जाता है, तो नियम के नाम पर, सबसे पहले Starlark ग्लोबल वैरिएबल का नाम सेट हो जाता है, ताकि लागू होने वाले .bzl मॉड्यूल में यह नियम लागू हो सके. इसलिए, अगर नाम किसी नियम के लिए अश्लील नाम तय करने से इस बात पर कोई असर नहीं पड़ता कि नियम को तुरंत लागू किया जा सकता है या नहीं. |
चुनें
unknown select(x, no_match_error='')
select()
एक हेल्पर फ़ंक्शन है, जो नियम एट्रिब्यूट को कॉन्फ़िगर करने लायक बनाता है. ज़्यादा जानकारी के लिए, एन्साइक्लोपीडिया बनाएं देखें.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
x
|
ज़रूरी है एक ऐसा शब्द जो कॉन्फ़िगरेशन से जुड़ी शर्तों को वैल्यू पर मैप करता है. हर कुंजी, एक लेबल या लेबल स्ट्रिंग होती है जो config_setting या कॉन्फ़्रेंसिंग_value इंस्टेंस की पहचान करती है. स्ट्रिंग के बजाय लेबल का इस्तेमाल कब करना है, यह जानने के लिए मैक्रो पर दस्तावेज़ देखें. |
no_match_error
|
डिफ़ॉल्ट = '' अगर कोई शर्त मेल नहीं खाती है, तो रिपोर्ट करने के लिए वैकल्पिक कस्टम गड़बड़ी. |
सिंगल_वर्शन_ओवरराइड
None single_version_override(module_name, version='', registry='', patches=[], patch_cmds=[], patch_strip=0)यह बताता है कि कोई डिपेंडेंसी अब भी रजिस्ट्री से आनी चाहिए, लेकिन उसका वर्शन पिन किया जाना चाहिए या फिर उसकी रजिस्ट्री को ओवरराइड किया जाना चाहिए. इसके अलावा, पैच की सूची लागू की गई है. इस निर्देश का इस्तेमाल सिर्फ़ रूट मॉड्यूल के लिए किया जा सकता है. दूसरे शब्दों में, अगर कोई मॉड्यूल किसी भी ओवरराइड को तय करता है, तो दूसरे लोग उसे डिपेंडेंसी के तौर पर इस्तेमाल नहीं कर सकते.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
module_name
|
ज़रूरी है उस ओवरराइड पर लागू करने के लिए Bazel मॉड्यूल की डिपेंडेंसी का नाम. |
version
|
डिफ़ॉल्ट = '' डिपेंडेंसी ग्राफ़ में इस मॉड्यूल के बताए गए वर्शन को बदलें. दूसरे शब्दों में, इस मॉड्यूल को इस ओवरराइड वर्शन से "पिन किया जाएगा". अगर रजिस्ट्री या पैच सभी को ओवरराइड करना है, तो इस विशेषता को छोड़ा जा सकता है. |
registry
|
डिफ़ॉल्ट = '' इस मॉड्यूल के लिए रजिस्ट्री को बदलता है; रजिस्ट्री की डिफ़ॉल्ट सूची से इस मॉड्यूल को ढूंढने के बजाय, दी गई रजिस्ट्री का इस्तेमाल किया जाना चाहिए. |
patches
|
Iterable of strings ;
डिफ़ॉल्ट = []इस मॉड्यूल के लिए लागू होने वाले पैच फ़ाइलों पर ले जाने वाले लेबल की सूची. पैच फ़ाइलें टॉप लेवल प्रोजेक्ट के सोर्स ट्री में मौजूद होनी चाहिए. उन्हें सूची के क्रम में लागू किया जाता है. |
patch_cmds
|
Iterable of strings ;
डिफ़ॉल्ट = []पैच लागू होने के बाद, Linux/Macos पर Bash कमांड का क्रम लागू करें. |
patch_strip
|
डिफ़ॉल्ट = 0 Unix पैच के --strip आर्ग्युमेंट के जैसा. |
क्रम से लगाएं
list sorted(iterable, *, key=None, reverse=False)एक नई क्रम से लगाई गई सूची देता है जिसमें दिए गए फिर से क्रम में लगाने वाले क्रम के सभी एलिमेंट होते हैं. अगर x एलिमेंट के किसी जोड़े की x < y का इस्तेमाल करके तुलना नहीं की जाती है, तो गड़बड़ी हो सकती है. एलिमेंट का बढ़ते क्रम में रखा जाना तब तक सही नहीं होता, जब तक कि रिवर्स आर्ग्युमेंट 'सही' न हो. इसके लिए, ऑर्डर का घटते क्रम में होना ज़रूरी है. क्रम से लगाने की प्रोसेस स्टेबल होती है: जिन एलिमेंट की तुलना एक जैसी होती है वे अपने ओरिजनल रिलेशनशिप क्रम को बनाए रखते हैं.
sorted([3, 5, 4]) == [3, 4, 5]
पैरामीटर
पैरामीटर | जानकारी |
---|---|
iterable
|
ज़रूरी है क्रम से लगाने के लिए, इसे दोहराया जा सकने वाला क्रम. |
key
|
डिफ़ॉल्ट = कोई नहीं तुलना करने से पहले, हर एलिमेंट पर एक वैकल्पिक फ़ंक्शन लागू किया जाता है. |
reverse
|
डिफ़ॉल्ट = गलत नतीजों को घटते क्रम में दिखाएं. |
एसटीआर
string str(x)यह ऑब्जेक्ट को किसी भी स्ट्रिंग में बदलता है. यह डीबग करने के लिए फ़ायदेमंद है.
str("ab") == "ab" str(8) == "8"
पैरामीटर
पैरामीटर | जानकारी |
---|---|
x
|
ज़रूरी है कन्वर्ज़न के लिए ऑब्जेक्ट. |
टैग_क्लास
tag_class tag_class(attrs={}, *, doc='')एक नया tag_class ऑब्जेक्ट बनाता है, जो टैग की क्लास के लिए एक एट्रिब्यूट स्कीमा की जानकारी देता है. ये ऑब्जेक्ट ऑब्जेक्ट होते हैं, जिन्हें मॉड्यूल एक्सटेंशन में इस्तेमाल किया जा सकता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
attrs
|
डिफ़ॉल्ट = {} इस टैग क्लास की सभी विशेषताओं के बारे में बताने वाला शब्दकोश. यह एट्रिब्यूट के नाम से किसी एट्रिब्यूट ऑब्जेक्ट तक मैप करता है (attr मॉड्यूल देखें). |
doc
|
डिफ़ॉल्ट = '' टैग क्लास की जानकारी, जिसे दस्तावेज़ बनाने वाले टूल से निकाला जा सकता है. |
Tuple
tuple tuple(x=())दिए गए इटरेटर वैल्यू के एलिमेंट के साथ ही 'टपल' रिटर्न करता है.
tuple([1, 2]) == (1, 2) tuple((2, 3, 2)) == (2, 3, 2) tuple({5: "a", 2: "b", 4: "c"}) == (5, 2, 4)
पैरामीटर
पैरामीटर | जानकारी |
---|---|
x
|
डिफ़ॉल्ट = () बदला जाने वाला ऑब्जेक्ट. |
टाइप करें
string type(x)अपने आर्ग्युमेंट के टाइप का नाम दिखाता है. यह डीबग करने और टाइप की जांच करने के लिए काम का है. उदाहरण:
type(2) == "int" type([1]) == "list" type(struct(a = 2)) == "struct"यह फ़ंक्शन आने वाले समय में बदल सकता है. Python के साथ काम करने वाला कोड लिखने और आने वाले समय के हिसाब से सुरक्षित होने के लिए, इसका इस्तेमाल सिर्फ़ वैल्यू की तुलना करने के लिए करें:
if type(x) == type([]): # if x is a list
पैरामीटर
पैरामीटर | जानकारी |
---|---|
x
|
ज़रूरी है ऐसा ऑब्जेक्ट जिसकी जांच करनी है. |
यूज़_एक्सटेंशन
module_extension_proxy use_extension(extension_bzl_file, extension_name, *, dev_dependency=False)मॉड्यूल एक्सटेंशन को दिखाने वाला प्रॉक्सी ऑब्जेक्ट दिखाता है. मॉड्यूल एक्सटेंशन टैग बनाने के लिए इसके तरीके लागू किए जा सकते हैं.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
extension_bzl_file
|
ज़रूरी मॉड्यूल एक्सटेंशन तय करने वाली Starlark फ़ाइल के लिए लेबल. |
extension_name
|
ज़रूरी है इस्तेमाल करने के लिए, मॉड्यूल एक्सटेंशन का नाम. इस नाम के साथ एक प्रतीक Starlark फ़ाइल द्वारा निर्यात किया जाना चाहिए. |
dev_dependency
|
डिफ़ॉल्ट = गलत अगर सही है, तो मॉड्यूल मॉड्यूल के इस्तेमाल को अनदेखा कर दिया जाएगा, अगर मौजूदा मॉड्यूल रूट मॉड्यूल नहीं है या `--ignore_dev_dependency` चालू है. |
इस्तेमाल_रिपो
None use_repo(extension_proxy, *args, **kwargs)दिए गए मॉड्यूल एक्सटेंशन से जनरेट किए गए एक या ज़्यादा रिपोज़िट को, मौजूदा मॉड्यूल के दायरे में इंपोर्ट करता है.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
extension_proxy
|
ज़रूरीuse_extension कॉल की मदद से दिखाया गया मॉड्यूल एक्सटेंशन प्रॉक्सी ऑब्जेक्ट.
|
args
|
ज़रूरी है इंपोर्ट करने के लिए डेटा स्टोर करने की जगह के नाम. |
kwargs
|
ज़रूरी इससे अलग-अलग नामों के साथ, मौजूदा मॉड्यूल के दायरे में इंपोर्ट करने के लिए कुछ रिपॉज़िट तय किए जाते हैं. कुंजियों को मौजूदा नाम में इस्तेमाल किया जाने वाला नाम होना चाहिए, जबकि वैल्यू को मॉड्यूल एक्सटेंशन से एक्सपोर्ट किए गए ओरिजनल नाम होने चाहिए. |
कैसा दिखाई दे
None visibility(value)
अभी .bzl मॉड्यूल की लोड होने की सेटिंग सेट करता है.
किसी मॉड्यूल के लोड होने की सेटिंग तय करती है कि अन्य BUILD और .bzl फ़ाइलें इसे लोड कर सकती हैं या नहीं. (यह मौजूद .bzl सोर्स फ़ाइल के टारगेट विज़िबिलिटी से अलग है, जो यह कंट्रोल करता है कि फ़ाइल अन्य टारगेट पर निर्भर करती है या नहीं.) लोड दृश्यता पैकेज के स्तर पर काम करती है: मॉड्यूल लोड करने के लिए, लोड होने वाली फ़ाइल को ऐसे पैकेज में होना चाहिए जिसे मॉड्यूल को दृश्यता दी गई हो. मॉड्यूल चाहे जो भी हो, उसे हमेशा उसके पैकेज में लोड किया जा सकता है.
visibility()
को हर .bzl फ़ाइल के लिए सिर्फ़ एक बार, और किसी फ़ंक्शन के अंदर नहीं, बल्कि सिर्फ़ टॉप लेवल पर कॉल किया जा सकता है. इस कॉल को load()
स्टेटमेंट के ठीक नीचे और तर्क को तय करने के लिए ज़रूरी किसी भी तर्क को प्राथमिकता दी जाती है.
अगर फ़्लैग --check_bzl_visibility
को 'गलत है' पर सेट किया जाता है, तो लोड 'किसको दिखे' के उल्लंघन होने पर चेतावनियां भेजी जाएंगी. हालांकि, ये बिल्ड सफल नहीं होंगे.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
value
|
ज़रूरी है पैकेज की खास बातों की स्ट्रिंग की सूची या एक पैकेज की खास जानकारी वाली स्ट्रिंग. पैकेज की खास बातों के फ़ॉर्मैट
"@" सिंटैक्स की अनुमति नहीं है. सभी मॉड्यूल को मौजूदा मॉड्यूल के रिपॉज़िटरी के हिसाब से समझा जाता है. अगर ध्यान दें कि |
कार्यस्थान
None workspace(name)
इस फ़ंक्शन का इस्तेमाल सिर्फ़ WORKSPACE
फ़ाइल में किया जा सकता है. WORKSPACE
फ़ाइल में, दूसरे सभी फ़ंक्शन से पहले इसका एलान किया जाना चाहिए. हर WORKSPACE
फ़ाइल में workspace
फ़ंक्शन होना चाहिए.
इस फ़ाइल फ़ोल्डर का नाम सेट करता है. फ़ाइल फ़ोल्डर के नाम, Java-पैकेज की शैली में होने चाहिए.इसमें अंडरस्कोर का इस्तेमाल करके, सेपरेटर का इस्तेमाल करें. जैसे, github.com/bazelbuild/bazel में com_github_bazelbuild_bazel का इस्तेमाल किया जाना चाहिए.
इस नाम का इस्तेमाल उस डायरेक्ट्री के लिए किया जाता है जिसमें रिपॉज़िटरी की रनफ़ाइल सेव की जाती हैं. उदाहरण के लिए, अगर लोकल रिपॉज़िटरी में रन फ़ाइल foo/bar
है और Workspace की फ़ाइल में workspace(name = 'baz')
शामिल है, तो रन फ़ाइल mytarget.runfiles/baz/foo/bar
में उपलब्ध होगी. अगर कोई फ़ाइल फ़ोल्डर नाम नहीं दिया गया है, तो रनफ़ाइल को bar.runfiles/foo/bar
से जोड़ दिया जाएगा.
रिमोट (रिपॉज़िटरी) डेटा स्टोर करने की जगह के नियम के नाम, फ़ाइल फ़ोल्डर के मान्य नाम होने चाहिए. उदाहरण के लिए, आपके पास maven_jar(name = 'foo')
हो सकता है, लेकिन maven_jar(name = 'foo%bar')
नहीं, क्योंकि Bazel, maven_jar
वाले workspace(name = 'foo%bar')
के लिए एक Workspace फ़ाइल लिखने की कोशिश करेगा.
पैरामीटर
पैरामीटर | जानकारी |
---|---|
name
|
फ़ाइल फ़ोल्डर का नाम ज़रूरी है. नाम की शुरुआत अक्षर से होनी चाहिए और उसमें सिर्फ़ अक्षर, संख्याएं, अंडरस्कोर, डैश और बिंदु हो सकते हैं. |
zip
list zip(*args)
tuple
के list
देता है, जहां i-th tuple में आर्ग्युमेंट के हर क्रम या बार-बार इस्तेमाल किए जाने वाले i-th एलिमेंट का शामिल होता है. सूची में सबसे छोटे इनपुट का आकार है. बार-बार दोहराए जाने वाले आर्ग्युमेंट के साथ, यह 1-ट्यूल की सूची देता है. बिना किसी तर्क के, यह एक खाली सूची देता है. उदाहरण:zip() # == [] zip([1, 2]) # == [(1,), (2,)] zip([1, 2], [3, 4]) # == [(1, 3), (2, 4)] zip([1, 2], [3, 4, 5]) # == [(1, 3), (2, 4)]
पैरामीटर
पैरामीटर | जानकारी |
---|---|
args
|
zip करने के लिए ज़रूरी हैं. |