BazelCon 2022, 16 नवंबर से 17 नवंबर तक न्यूयॉर्क में और ऑनलाइन उपलब्ध है.
आज ही रजिस्टर करें!

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, scalac, वगैरह).
compile_jar File; or None; ज़रूरी है
एक जार जिसे output_jar के बजाय, कंपाइल होने में लगने वाले समय के तौर पर जोड़ा जाता है. आम तौर पर, यह run_ijar का बनाया हुआ डीजे है. अगर आप ija का इस्तेमाल नहीं कर सकते, तो इसके बजाय stamp_ijar के आउटपुट का इस्तेमाल करें. अगर आपको दोनों में से किसी का भी इस्तेमाल नहीं करना है, तो output_jar को पास किया जा सकता है. कुछ खास मामले तब होते हैं, जब इस पैरामीटर को None पर सेट किया जा सकता है. उदाहरण के लिए, रिसॉर्स वाला कोई जार जोड़ना या java_binary जैसे किसी टर्मिनल नियम में इस्तेमाल किया जाना.
source_jar File; or None; डिफ़ॉल्ट = कोई नहीं
वह सोर्स जार जिसका इस्तेमाल आउटपुट जार बनाने के लिए किया गया था. इस सोर्स जार को बनाने के लिए, pack_sources का इस्तेमाल करें.
compile_jdeps File; or None; डिफ़ॉल्ट = कोई नहीं
कंपाइल समय की डिपेंडेंसी के बारे में jdeps जानकारी JavaCompileAction पर इस्तेमाल की जानी चाहिए. यह बैज़ेल के साथ जुड़े deps.proto प्रोटोबफ़ का उपयोग करके एन्कोड किया गया एक बाइनरी प्रोटो होना चाहिए. अगर उपलब्ध हो, तो आम तौर पर यह फ़ाइल, हेडर कंपाइलर बनाती है.
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; डिफ़ॉल्ट = कोई नहीं
नियम के आउटपुट के लिए मेनिफ़ेस्ट की जानकारी (अगर उपलब्ध हो). यह Babin के साथ जुड़े मेनिफ़ेस्ट.proto प्रोटोबफ़ का इस्तेमाल करके एन्कोड किया गया एक बाइनरी प्रोटो होना चाहिए. IDE और दूसरे टूल की मदद से, इस जानकारी का इस्तेमाल ज़्यादा बेहतर तरीके से प्रोसेस किया जा सकता है.
डिफ़ॉल्ट = गलत
अगर सही है, तो कंपाइलेशन के लिए इस लाइब्रेरी का इस्तेमाल करें, न कि रनटाइम के समय.
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 नियम के आउटपुट के लिए जानकारी (अगर उपलब्ध हो). यह बैज़ेल के साथ जुड़े deps.proto प्रोटोबफ़ का उपयोग करके एन्कोड किया गया एक बाइनरी प्रोटो होना चाहिए. अगर उपलब्ध हो, तो आम तौर पर यह फ़ाइल कंपाइल करती है. IDE और दूसरे टूल की मदद से, इस जानकारी का इस्तेमाल ज़्यादा बेहतर तरीके से प्रोसेस किया जा सकता है.
native_libraries sequence of CcInfos; डिफ़ॉल्ट = []
सीसी लाइब्रेरी, जो इस लाइब्रेरी के लिए ज़रूरी है.

एनोटेशन_प्रोसेसिंग

java_annotation_processing JavaInfo.annotation_processing

इस Java/Java जैसे टारगेट पर लागू एनोटेशन प्रोसेसर के बारे में जानकारी देता है.

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

api_generating_प्लग इन

JavaPluginData JavaInfo.api_generating_plugins

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

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

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

कॉम्बो_जानकारी

java_compilation_info JavaInfo.compilation_info

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

कंपाइल_जैर

depset JavaInfo.compile_jars

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

full_compile_jks

depset JavaInfo.full_compile_jars

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

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

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

जावा_आउटपुट

list JavaInfo.java_outputs

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

मॉड्यूल_फ़्लैग_जानकारी

JavaModuleFlagsProvider JavaInfo.module_flags_info

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

आउटपुट

java_output_jars JavaInfo.outputs

इस Java/Java जैसे टारगेट के आउटपुट के बारे में जानकारी देता है. बंद: java_आउटपुट का इस्तेमाल करें. None वापस कर सकता है.

प्लग इन

JavaPluginData JavaInfo.plugins

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

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

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

रनटाइम_आउटपुट_जैर

sequence JavaInfo.runtime_output_jars

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

सोर्स_जैर

sequence JavaInfo.source_jars

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

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 के साथ बंद है. इस कोड का इस्तेमाल करके पुष्टि करें कि आपका कोड जल्द ही हटाए जाने के साथ काम करता है या नहीं.
स्ट्रक्चर्ड पैरामीटर से टेक्स्ट मैसेज बनाता है. {0/} स्ट्रिंग में कोट और नई लाइनें छोड़ दी जाती हैं. स्ट्रक्चर्ड बटन को क्रम से लगाया जाता है. उदाहरण:
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
# }

अब इस्तेमाल में नहीं: इसके बजाय प्रोटो.encode_text(x) का इस्तेमाल करें.

transitive_compile_time_jks

depset JavaInfo.transitive_compile_time_jars

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

transitive_deps

depset JavaInfo.transitive_deps

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

ट्रांज़िटिव_नेटिव_लाइब्रेरी

depset JavaInfo.transitive_native_libraries

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

transitive_runtime_deps

depset JavaInfo.transitive_runtime_deps

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

transitive_runtime_jks

depset JavaInfo.transitive_runtime_jars

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

transitive_source_jks

depset JavaInfo.transitive_source_jars

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