टेंप्लेट वैरिएबल को कवर करता है. इन वैरिएबल का रेफ़रंस, BUILD फ़ाइलों में $(VARIABLE)
जैसी स्ट्रिंग से किया जा सकता है. साथ ही, इन्हें ctx.expand_make_variables
से बड़ा किया जा सकता है. इसके अलावा, ये वैरिएबल बिल्ट-इन नियमों के कुछ एट्रिब्यूट में भी शामिल होते हैं.
TemplateVariableInfo
को स्ट्रिंग-टू-स्ट्रिंग डिक्शनरी के साथ उसके नाम वाले कंस्ट्रक्टर को कॉल करके, ऐसे आर्ग्युमेंट के तौर पर बनाया जा सकता है जो दिए गए वैरिएबल को तय करता है.
उदाहरण: platform_common.TemplateVariableInfo({'FOO': 'bar'})
सदस्य
to_json
string TemplateVariableInfo.to_json()अब काम नहीं करता. इस एपीआई के इस्तेमाल पर रोक लगा दी गई है और इसे जल्द ही हटा दिया जाएगा. कृपया इस पर भरोसा न करें. यह
---incompatible_struct_has_no_methods
के साथ बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड, जल्द ही हटाए जाने वाले वर्शन के साथ काम करता है. स्ट्रक्ट पैरामीटर से JSON स्ट्रिंग बनाता है. यह तरीका सिर्फ़ तब काम करता है, जब सभी स्ट्रक्चर एलिमेंट (बार-बार) स्ट्रिंग, ints, बूलियन, अन्य स्ट्रक्चर, इन टाइप की सूची या स्ट्रिंग कुंजियों और इन टाइप की वैल्यू वाली डिक्शनरी हों. स्ट्रिंग में कोट और नई लाइनें छोड़ दी जाती हैं. उदाहरण:
struct(key=123).to_json() # {"key":123} struct(key=True).to_json() # {"key":true} struct(key=[1, 2, 3]).to_json() # {"key":[1,2,3]} struct(key='text').to_json() # {"key":"text"} struct(key=struct(inner_key='text')).to_json() # {"key":{"inner_key":"text"}} struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_json() # {"key":[{"inner_key":1},{"inner_key":2}]} struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_json() # {"key":{"inner_key":{"inner_inner_key":"text"}}}.
अब काम नहीं करता: इसके बजाय, json.encode(x) या json.encode_indent(x) का इस्तेमाल करें. ये फ़ंक्शन, स्ट्रक्चर के अलावा अन्य वैल्यू के लिए काम करते हैं. साथ ही, स्ट्रक्चर फ़ील्ड नेमस्पेस को भी गंदा नहीं करते.
to_proto
string TemplateVariableInfo.to_proto()अब काम नहीं करता. यह एपीआई अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह
---incompatible_struct_has_no_methods
के साथ बंद है. इस फ़्लैग का इस्तेमाल करके, पुष्टि करें कि आपका कोड जल्द ही हटाए जाने के साथ काम करता है. स्ट्रक्ट पैरामीटर से टेक्स्ट मैसेज बनाता है. यह तरीका सिर्फ़ तब काम करता है, जब सभी स्ट्रक्चर एलिमेंट (बार-बार) स्ट्रिंग, इंटेज, बूलियन, दूसरे स्ट्रक्चर या डिक्ट या इन टाइप की सूचियां हों. स्ट्रिंग में कोटेशन और नई लाइन को एस्केप किया जाता है. स्ट्रक्ट कुंजियों को क्रम से लगाया जाता है. उदाहरण:
struct(key=123).to_proto() # key: 123 struct(key=True).to_proto() # key: true struct(key=[1, 2, 3]).to_proto() # key: 1 # key: 2 # key: 3 struct(key='text').to_proto() # key: "text" struct(key=struct(inner_key='text')).to_proto() # key { # inner_key: "text" # } struct(key=[struct(inner_key=1), struct(inner_key=2)]).to_proto() # key { # inner_key: 1 # } # key { # inner_key: 2 # } struct(key=struct(inner_key=struct(inner_inner_key='text'))).to_proto() # key { # inner_key { # inner_inner_key: "text" # } # } struct(foo={4: 3, 2: 1}).to_proto() # foo: { # key: 4 # value: 3 # } # foo: { # key: 2 # value: 1 # }
काम नहीं करता: इसके बजाय, proto.encode_text(x) का इस्तेमाल करें.
वैरिएबल
dict TemplateVariableInfo.variablesइस टारगेट से तय किए गए मेक वैरिएबल को स्ट्रिंग कीवर्ड और स्ट्रिंग वैल्यू वाली डिक्शनरी के तौर पर दिखाता है