प्रोटोइनो

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है proto_library से मिली जानकारी को इनकैप्सुलेट करता है.

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

सदस्य

check_deps_sources

depset ProtoInfo.check_deps_sources

'srcs' से मिले प्रोटो सोर्स एट्रिब्यूट की वैल्यू सबमिट करें. अगर लाइब्रेरी ऐसी प्रॉक्सी लाइब्रेरी है जिसमें कोई सोर्स नहीं है, तो इसमें इस लाइब्रेरी के डायरेक्ट डिपार्टमेंट से check_deps_sources शामिल होते हैं.

direct_descriptor_set

File ProtoInfo.direct_descriptor_set

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

direct_sources

list ProtoInfo.direct_sources

'srcs' से मिले प्रोटो सोर्स एट्रिब्यूट की वैल्यू सबमिट करें.

proto_source_root

string ProtoInfo.proto_source_root

वह डायरेक्ट्री जिससे Proto_library में तय की गई .proto फ़ाइलों को तय किया गया है. उदाहरण के लिए, अगर यह 'a/b' है और नियम में 'a/b/c/d.proto' फ़ाइल है सोर्स के तौर पर, वह सोर्स फ़ाइल 'इंपोर्ट 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) का इस्तेमाल करें. यह निर्देशों के अलावा, किसी भी अन्य वैल्यू पर काम करता है और स्ट्रक्चर फ़ील्ड नेमस्पेस को खराब नहीं करता.

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

यह सभी डिपेंडेंट Proto_library नियमों की FileDescriptorSet फ़ाइलों का सेट होता है और इस फ़ाइल का. यह प्रोटोकॉल-कंपाइलर में --include_Imports को पास करने के समान नहीं है. अगर कोई डिपेंडेंसी नहीं है, तो यह फ़ील्ड खाली रहेगा.

transitive_imports

depset ProtoInfo.transitive_imports

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

transitive_proto_path

depset ProtoInfo.transitive_proto_path

इस नियम के ट्रांज़िटिव क्लोज़र से इकट्ठा किए गए प्रोटो सोर्स रूट का सेट.

transitive_sources

depset ProtoInfo.transitive_sources

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