JavaInfo

अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है सेवा देने वाली कंपनी, जो Java और Java जैसे टारगेट के बारे में जानकारी अपने-आप इकट्ठा करती है.

सदस्य

JavaInfo

JavaInfo JavaInfo(output_jar, compile_jar, source_jar=None, compile_jdeps=None, generated_class_jar=None, generated_source_jar=None, native_headers_jar=None, manifest_proto=None, neverlink=False, deps=[], runtime_deps=[], exports=[], exported_plugins=[], jdeps=None, native_libraries=[])

JavaInfo कंस्ट्रक्टर.

पैरामीटर

पैरामीटर ब्यौरा
output_jar ज़रूरी है
कंपाइलेशन (उदाहरण के लिए, javac, स्केलैक वगैरह) की वजह से बनाया गया जार.
compile_jar File; or None; ज़रूरी है
एक जार जिसे output_jar के बजाय, कंपाइल-टाइम डिपेंडेंसी के तौर पर जोड़ा जाता है. आम तौर पर, यह run_ijar का बनाया हुआ इजर है. अगर आप iJर का इस्तेमाल नहीं कर सकते, तो stamp_ijar से मिलने वाले आउटपुट का इस्तेमाल करें. अगर आपको इनमें से कोई भी विकल्प इस्तेमाल नहीं करना है, तो output_jar को आसानी से पास किया जा सकता है. कुछ खास मामले ऐसे होते हैं जहां इस पैरामीटर को None पर सेट किया जा सकता है. उदाहरण के लिए, संसाधनों के साथ एक जार जोड़ना या java_binary जैसे किसी टर्मिनल नियम में इस्तेमाल करना.
source_jar File; or None; डिफ़ॉल्ट = कोई नहीं
वह सोर्स जार जिसका इस्तेमाल आउटपुट जार बनाने के लिए किया गया था. यह सोर्स जार बनाने के लिए pack_sources का इस्तेमाल करें.
compile_jdeps File; or None; डिफ़ॉल्ट = कोई नहीं
JavaCompileAction का इस्तेमाल करने के लिए, कंपाइल टाइम डिपेंडेंसी के बारे में jdeps जानकारी. यह एक बाइनरी प्रोटो होना चाहिए, जिसे Basel के साथ शामिल deps.proto Protobuf का इस्तेमाल करके एन्कोड किया गया हो. अगर यह फ़ाइल उपलब्ध होती है, तो आम तौर पर इसे हेडर कंपाइलर की मदद से बनाया जाता है.
generated_class_jar File; or None; डिफ़ॉल्ट = कोई नहीं
जार फ़ाइल, जिसमें एनोटेशन प्रोसेसिंग के दौरान जनरेट किए गए सोर्स से इकट्ठा की गई क्लास फ़ाइलें होती हैं.
generated_source_jar File; or None; डिफ़ॉल्ट = कोई नहीं
यह सोर्स जार है, जो जानकारी को प्रोसेस करने की वजह से बनाया गया है.
native_headers_jar File; or None; डिफ़ॉल्ट = कोई नहीं
एक जार जिसमें CC हेडर फ़ाइलें होती हैं. ये फ़ाइलें नेटिव तरीके को लागू करने के लिए काम करती हैं (आम तौर पर, javac -h का आउटपुट).
manifest_proto File; or None; डिफ़ॉल्ट = कोई नहीं
नियम के आउटपुट के लिए मेनिफ़ेस्ट की जानकारी (अगर उपलब्ध हो). यह एक बाइनरी प्रोटो होना चाहिए, जिसे Baज़ल के साथ शामिल मेनिफ़ेस्ट.proto Protobuf का इस्तेमाल करके कोड में बदला गया हो. आईडीई और अन्य टूल इस जानकारी का इस्तेमाल, डेटा को बेहतर तरीके से प्रोसेस करने के लिए कर सकते हैं.
डिफ़ॉल्ट = गलत
अगर सही है, तो इस लाइब्रेरी का इस्तेमाल सिर्फ़ कंपाइलेशन के लिए करें, रनटाइम के दौरान नहीं.
deps sequence of JavaInfos; डिफ़ॉल्ट = []
आउटपुट जार बनाने के लिए इस्तेमाल की गई टाइम डिपेंडेंसी को कंपाइल करें.
runtime_deps sequence of JavaInfos; डिफ़ॉल्ट = []
इस लाइब्रेरी के लिए ज़रूरी रनटाइम डिपेंडेंसी.
exports sequence of JavaInfos; डिफ़ॉल्ट = []
इस लाइब्रेरी के उपयोगकर्ताओं के लिए उपलब्ध लाइब्रेरी. java_library.exports भी देखें.
exported_plugins sequence of JavaPluginInfos; डिफ़ॉल्ट = []
एक्सपोर्ट किए गए प्लगिन की सूची. ज़रूरी नहीं.
jdeps File; or None; डिफ़ॉल्ट = कोई नहीं
नियम के आउटपुट के लिए jdeps जानकारी (अगर उपलब्ध हो). यह एक बाइनरी प्रोटो होना चाहिए, जिसे Baज़ल के साथ शामिल deps.proto Protobuf का इस्तेमाल करके एन्कोड किया जाना चाहिए. अगर फ़ाइल उपलब्ध है, तो आम तौर पर इस फ़ाइल को कंपाइलर बनाया जाता है. आईडीई और अन्य टूल इस जानकारी का इस्तेमाल, डेटा को बेहतर तरीके से प्रोसेस करने के लिए कर सकते हैं.
native_libraries sequence of CcInfos; डिफ़ॉल्ट = []
इस लाइब्रेरी के लिए ज़रूरी CC नेटिव लाइब्रेरी डिपेंडेंसी.

annotation_processing

java_annotation_processing JavaInfo.annotation_processing

यह Java/Java जैसे टारगेट पर लागू किए गए एनोटेशन प्रोसेसर की जानकारी दिखाता है.

यह सुविधा अब काम नहीं करती: कृपया इसके बजाय plugins का इस्तेमाल करें. यह इस्तेमाल करने वाले टारगेट के हिसाब से, एनोटेशन प्रोसेसर के बारे में जानकारी दिखाता है. None को वापस किया जा सकता है.

api_generating_plugins

JavaPluginData JavaInfo.api_generating_plugins

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

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

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

compilation_info

java_compilation_info JavaInfo.compilation_info

इस Java/Java-जैसे टारगेट के लिए कंपाइलेशन की जानकारी दिखाता है. None को वापस किया जा सकता है.

compile_jars

depset JavaInfo.compile_jars

इकट्ठा करने के दौरान, इस टारगेट के लिए ज़रूरी जार सीधे तौर पर दिखाता है. ये इंटरफ़ेस जार (iJर या hJर), सामान्य जार या दोनों हो सकते हैं. यह इस बात पर निर्भर करता है कि नियम लागू करने के दौरान इंटरफ़ेस जार बनाने का विकल्प चुना गया या नहीं.

full_compile_jars

depset JavaInfo.full_compile_jars

यह फ़ंक्शन सीधे तौर पर, इस टारगेट के लिए ज़रूरी सामान्य और पूरे कंपाइल टाइम की जानकारी देता है. वे
  • इंटरफ़ेस जार के संबंधित सामान्य जार, JavaInfo.compile_jars ने लौटाए
  • JavaInfo.compile_jars ने सामान्य (पूरा) जार लौटाए

ध्यान दें: JavaInfo.compile_jars, इंटरफ़ेस जार और सामान्य जार, दोनों का मिला-जुला जवाब दे सकता है.

इस तरीके का इस्तेमाल सिर्फ़ तब करें, जब इंटरफ़ेस जार आपके नियम सेट (उदाहरण के लिए, कुछ स्कैला टारगेट) के साथ काम नहीं करते हैं. अगर आपने सिर्फ़ Java से जुड़े टारगेट सेट किए हैं, तो आपके लिए JavaInfo.compile_jars के ज़रिए इंटरफ़ेस Jars का इस्तेमाल करना बेहतर होगा

java_outputs

list JavaInfo.java_outputs

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

module_flags_info

JavaModuleFlagsProvider JavaInfo.module_flags_info

यह Java मॉड्यूल फ़्लैग कॉन्फ़िगरेशन दिखाता है.

आउटपुट

java_output_jars JavaInfo.outputs

इस Java/Java-जैसे टारगेट के आउटपुट के बारे में जानकारी दिखाता है. यह सुविधा अब काम नहीं करती: java_Outputs का इस्तेमाल करें. None को वापस किया जा सकता है.

प्लगिन

JavaPluginData JavaInfo.plugins

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

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

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

runtime_output_jars

sequence JavaInfo.runtime_output_jars

यह Java/Java जैसे टारगेट से बनाए गए रनटाइम जार की सूची दिखाता है.

source_jars

sequence JavaInfo.source_jars

टारगेट की सभी सोर्स फ़ाइलों (इसमें एनोटेशन से जनरेट की गई फ़ाइलें भी शामिल हैं) के साथ जार की सूची दिखाता है. जैसे, ट्रांज़िटिव डिपेंडेंसी के सोर्स शामिल नहीं करना.

to_json

string JavaInfo.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 JavaInfo.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_compile_time_jars

depset JavaInfo.transitive_compile_time_jars

टारगेट बनाने के लिए ज़रूरी जार का ट्रांज़िटिव सेट दिखाता है.

transitive_deps

depset JavaInfo.transitive_deps

अब काम नहीं करता: कृपया इसके बजाय JavaInfo.transitive_compile_time_jars का इस्तेमाल करें. इससे वही वैल्यू मिलती है.

transitive_native_libraries

depset JavaInfo.transitive_native_libraries

टारगेट के लिए ज़रूरी, CC नेटिव लाइब्रेरी का ट्रांज़िटिव सेट दिखाता है.

transitive_runtime_deps

depset JavaInfo.transitive_runtime_deps

अब काम नहीं करता: इसके बजाय, कृपया JavaInfo.transitive_runtime_jars का इस्तेमाल करें. यह एक ही वैल्यू दिखाता है

transitive_runtime_jars

depset JavaInfo.transitive_runtime_jars

टारगेट के रनटाइम क्लासपाथ पर ज़रूरी जार का ट्रांज़िटिव सेट दिखाता है.

transitive_source_jars

depset JavaInfo.transitive_source_jars

यह फ़ंक्शन आपको मौजूदा टारगेट और उसकी सभी ट्रांज़िटिव डिपेंडेंसी की सोर्स फ़ाइलों वाला जार दिखाता है.