BazelCon 2022, 16 नवंबर से 17 नवंबर तक न्यूयॉर्क में और ऑनलाइन उपलब्ध है.
आज ही रजिस्टर करें!

ProtoInfo

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
प्रोटो_लाइब्रेरी से मिली जानकारी को अटैच किया जाता है.

इस नियम को rule_proto से लोड करने के लिए, कृपया `load("@rules_proto//proto:defs.bzl", "ProtoInfo")` का इस्तेमाल करें.

सदस्य

check_deps_sources

depset ProtoInfo.check_deps_sources

'srcs' एट्रिब्यूट से Proto स्रोत. अगर लाइब्रेरी एक प्रॉक्सी लाइब्रेरी है, जिसमें कोई स्रोत नहीं है, तो इसमें इस लाइब्रेरी के सीधे Dep से जांच_deps_sources शामिल हैं.

direct_descriptor_set

File ProtoInfo.direct_descriptor_set

सीधे स्रोतों का FileDescriptorSet. अगर कोई src नहीं है, तो उसमें एक खाली फ़ाइल होगी.

Direct_sources (डायरेक्ट_सोर्स)

list ProtoInfo.direct_sources

'srcs' एट्रिब्यूट से Proto स्रोत.

प्रोटो_स्रोत_रूट

string ProtoInfo.proto_source_root

वह डायरेक्ट्री जिससे proto_library में दी गई .proto फ़ाइलें परिभाषित की गई हैं. उदाहरण के लिए, अगर यह 'a/b' है और नियम में फ़ाइल 'a/b/c/d.proto' है, तो स्रोत फ़ाइल को 'import c/d.proto' के रूप में इंपोर्ट किया जाएगा

to_json

string ProtoInfo.to_json()

अब इस्तेमाल में नहीं है. यह एपीआई काम नहीं करता है और इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह ---incompatible_struct_has_no_methods के साथ बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड आने वाले समय में हटाया जा सकता है.
स्ट्रैक्ट पैरामीटर से JSON स्ट्रिंग बनाता है. यह तरीका सिर्फ़ तब काम करता है, जब सभी स्ट्रक्ट एलिमेंट (बार-बार) स्ट्रिंग, इंट्स, बूलियन, दूसरे स्ट्रक्चर, इन टाइप की सूची या स्ट्रिंग की कुंजियों और इन टाइप के मानों वाला शब्दकोश हो. स्ट्रिंग में मौजूद कोट और नई लाइन को एस्केप किया गया है. उदाहरण:
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) का इस्तेमाल करें. यह scripts के अलावा दूसरे मानों के लिए भी काम करता है और स्ट्रक्ट फ़ील्ड के नेमस्पेस को प्रदूषित नहीं करता है.

to_proto

string ProtoInfo.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) का उपयोग करें.

transitive_descriptor_sets

depset ProtoInfo.transitive_descriptor_sets

सभी निर्भर पेशेवर प्रोटोकॉल की FileDescriptorSet फ़ाइलों का सेट और यह. यह पास करने जैसा नहीं है --include_imports (प्रोटो-कंपाइलर) को शामिल करने के लिए. अगर कोई डिपेंडेंसी नहीं है, तो वह खाली रहेगा.

transitive_imports

depset ProtoInfo.transitive_imports

कमज़ोर डिपेंडेंसी के साथ, ट्रांज़िट वाले इंपोर्ट.

ट्रांज़िट_प्रोटो_पाथ

depset ProtoInfo.transitive_proto_path

इस नियम के स्थायी बंद होने से इकट्ठा किए गए प्रोटो स्रोत रूट का एक सेट.

transit_sources

depset ProtoInfo.transitive_sources

इस नियम और इसके सभी निर्भर प्रोटोकॉल बफ़र नियमों के लिए Proto स्रोत.