इस सिंबल को rules_proto से लोड करने के लिए, कृपया `load("@rules_proto//proto:defs.bzl", "ProtoInfo")` का इस्तेमाल करें.
पैसे चुकाकर बने सदस्य
- check_deps_sources
- direct_descriptor_set
- direct_sources
- proto_source_root
- to_json
- to_proto
- transitive_descriptor_sets
- transitive_imports
- transitive_proto_path
- transitive_sources
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इस नियम के लिए प्रोटो सोर्स और इस पर निर्भर सभी प्रोटोकॉल बफ़र नियम.