Javaप्लग इन

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है Java प्लगिन के बारे में जानकारी को एन्क्रिप्ट (सुरक्षित) करने वाली कंपनी.

फ़िलहाल, सिर्फ़ एनोटेशन प्रोसेसर के तौर पर प्लगिन काम करते हैं.

सदस्य

JavaPluginInfo

JavaPluginInfo JavaPluginInfo(runtime_deps, *, processor_class, data=[], generates_api=False)

JavaPluginInfo कंस्ट्रक्टर.

पैरामीटर

पैरामीटर ब्यौरा
runtime_deps sequence of JavaInfos; ज़रूरी है
लाइब्रेरी, जिसमें एनोटेशन प्रोसेसर है.
processor_class string; or None; ज़रूरी है
पूरी तरह क्वालिफ़ाइड क्लास का नाम, जिसे Java कंपाइलर, एनोटेशन प्रोसेसर के एंट्री पॉइंट के तौर पर इस्तेमाल करता है.
data sequence of Files; or depset of Files; डिफ़ॉल्ट = []
एक्ज़ीक्यूशन के दौरान, इस एनोटेशन प्रोसेसर को ज़रूरी फ़ाइलें.
generates_api डिफ़ॉल्ट = गलत
इस एनोटेशन प्रोसेसर के एपीआई कोड जनरेट करने पर, 'सही' पर सेट करें.

ऐसा व्याख्या प्रोसेसर किसी Java टारगेट पर लागू उसके हेडर जार (जिसमें मेथड सिग्नेचर होते हैं) को बनाने से पहले किया जाता है. कोई एपीआई प्लगिन मौजूद न होने पर, सोर्स से हेडर जार जनरेट होते हैं. इससे ज़रूरी पाथ कम हो जाता है.

चेतावनी: इस पैरामीटर से बिल्ड की परफ़ॉर्मेंस पर असर पड़ता है. इसलिए, इसका इस्तेमाल ज़रूरी होने पर ही करें.

api_generating_plugins

JavaPluginData JavaPluginInfo.api_generating_plugins

इस टारगेट के हिसाब से तय या एक्सपोर्ट किए गए, एपीआई जनरेट करने वाले प्लगिन के बारे में डेटा दिखाता है.

ये एनोटेशन प्रोसेसर किसी Java टारगेट पर लागू होने के बाद उसके हेडर जार (जिसमें मेथड सिग्नेचर होते हैं) तैयार होते हैं. कोई एपीआई प्लगिन मौजूद न होने पर, सोर्स से हेडर जार जनरेट होते हैं. इससे ज़रूरी पाथ कम हो जाता है.

api_generating_plugins, plugins का सबसेट है.

java_outputs

list JavaPluginInfo.java_outputs

इस Java/Java-जैसे टारगेट के आउटपुट के बारे में जानकारी दिखाता है.

प्लगिन

JavaPluginData JavaPluginInfo.plugins

उन सभी प्लगिन के बारे में डेटा देता है जिन्हें इस्तेमाल करने वाले टारगेट को लागू करना चाहिए.

आम तौर पर, यह खुद java_plugin या java_library से एक या उससे ज़्यादा प्लगिन एक्सपोर्ट होते हैं.

java_library, इस फ़ील्ड के सभी प्लगिन के साथ एनोटेशन प्रोसेस करता है. ये प्लगिन deps और plugins एट्रिब्यूट में दिखते हैं.

to_json

string JavaPluginInfo.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 JavaPluginInfo.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) का इस्तेमाल करें.