प्रोटोइनो

proto_library से मिली जानकारी को इकट्ठा करता है.

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

पैसे चुकाकर बने सदस्य

check_deps_sources

depset ProtoInfo.check_deps_sources

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

direct_descriptor_set

File ProtoInfo.direct_descriptor_set

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

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

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

transitive_imports

depset ProtoInfo.transitive_imports

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

transitive_proto_path

depset ProtoInfo.transitive_proto_path

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

transitive_sources

depset ProtoInfo.transitive_sources

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