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

Java_सामान्य

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
Starlark में Java कंपाइलेशन की सुविधा के लिए सुविधाएं.

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

FitClassPathInfo

Provider java_common.BootClassPathInfo

वह पार्टनर जिसे बूटक्लास पाथ की जानकारी देने के लिए इस्तेमाल किया जाता था

कंपाइल करें

JavaInfo java_common.compile(ctx, *, source_jars=[], source_files=[], output, output_source_jar=None, javac_opts=[], deps=[], runtime_deps=[], exports=[], plugins=[], exported_plugins=[], native_libraries=[], annotation_processor_additional_inputs=[], annotation_processor_additional_outputs=[], strict_deps='ERROR', java_toolchain, host_javabase=None, sourcepath=[], resources=[], resource_jars=[], classpath_resources=[], neverlink=False, enable_annotation_processing=True, enable_compile_jar_action=True, add_exports=[], add_opens=[])

Starlark नियम को लागू करने वाली Java स्रोत फ़ाइलों/जार को कंपाइल करता है और कंपाइलेशन के नतीजों को दिखाने वाली कंपनी को दिखाता है. साथ ही, उन्हें इस नियम के हिसाब से लागू होने वाली कंपनियों के सेट में जोड़ा जा सकता है.

पैरामीटर

पैरामीटर जानकारी
ctx ज़रूरी है
नियम का संदर्भ.
source_jars sequence of Files; डिफ़ॉल्ट = []
कंपाइल किए जाने वाले जार की सूची. कम से कम एक source_javas या Source_files बताई जानी चाहिए.
source_files sequence of Files; डिफ़ॉल्ट = []
कंपाइल की जाने वाली Java सोर्स फ़ाइलों की सूची. कम से कम एक source_javas या Source_files बताई जानी चाहिए.
output ज़रूरी
output_source_jar File; or None; डिफ़ॉल्ट = कोई नहीं
आउटपुट सोर्स जार. ज़रूरी नहीं. अगर इसे सेट नहीं किया गया है, तो डिफ़ॉल्ट रूप से `{output_jam}-src.java` का इस्तेमाल किया जाता है.
javac_opts sequence of strings; डिफ़ॉल्ट = []
पसंद के मुताबिक javac विकल्पों की सूची. ज़रूरी नहीं.
deps sequence of JavaInfos; डिफ़ॉल्ट = []
डिपेंडेंसी की सूची. ज़रूरी नहीं.
runtime_deps sequence of JavaInfos; डिफ़ॉल्ट = []
रनटाइम की डिपेंडेंसी की सूची. ज़रूरी नहीं.
exports sequence of JavaInfos; डिफ़ॉल्ट = []
एक्सपोर्ट की सूची. ज़रूरी नहीं.
plugins sequence of JavaPluginInfos; or sequence of JavaInfos; डिफ़ॉल्ट = []
प्लग इन की सूची. ज़रूरी नहीं.
exported_plugins sequence of JavaPluginInfos; or sequence of JavaInfos; default = []
एक्सपोर्ट किए गए प्लग इन की सूची. ज़रूरी नहीं.
native_libraries sequence of CcInfos; डिफ़ॉल्ट = []
इस लाइब्रेरी के लिए, सीसी में शामिल मूल लाइब्रेरी डिपेंडेंसी ज़रूरी हैं.
annotation_processor_additional_inputs sequence of Files; डिफ़ॉल्ट = []
इनपुट इनपुट की एक सूची, जो Java प्रोसेसिंग के लिए Java स्रोतों के साथ-साथ Java प्रोसेस के बाद करेगी.
annotation_processor_additional_outputs sequence of Files; डिफ़ॉल्ट = []
आउटपुट की एक ऐसी सूची जिसे JavaScript प्रोसेस करने से, क्लास जार के साथ-साथ एनोटेशन प्रोसेसिंग में आउटपुट मिलेगा.
strict_deps डिफ़ॉल्ट =#39;ERROR'
सख्त स्ट्रिंग को मैनेज करने का तरीका बताने वाली स्ट्रिंग. संभावित वैल्यू: ज़्यादा जानकारी के लिए, /docs/user-मैन्युअल#flag--strict_java_deps देखें. डिफ़ॉल्ट रूप से #39;ERROR'.
java_toolchain ज़रूरी है
इस कंपाइलेशन के लिए, JavaToolchainInfo का इस्तेमाल करें. ज़रूरी है.
host_javabase डिफ़ॉल्ट = कोई नहीं
काम नहीं करता. यह पैरामीटर अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह --+incompatible_java_common_parameters के साथ बंद है. इस कोड का इस्तेमाल करके इस बात की पुष्टि करें कि आपका कोड जल्द ही हटाया जा सकता है.
अब इस्तेमाल में नहीं है: आप इस पैरामीटर को छोड़ सकते हैं (java_toolchain के साथhost_javabase दिया गया है)
sourcepath sequence of Files; डिफ़ॉल्ट = []
resources sequence of Files; डिफ़ॉल्ट = []
resource_jars sequence of Files; डिफ़ॉल्ट = []
classpath_resources sequence of Files; डिफ़ॉल्ट = []
डिफ़ॉल्ट = गलत
enable_annotation_processing डिफ़ॉल्ट = सही
इस कंपाइलेशन में एनोटेशन प्रोसेस करने की सुविधा बंद कर देता है. इसकी वजह से, प्लग इन या एक्सपोर्ट के प्लग इन में दिए गए एनोटेशन प्रोसेसर नज़रअंदाज़ कर दिए जाते हैं.
enable_compile_jar_action डिफ़ॉल्ट = सही
हेडर कंपाइलेशन या izer बनाने की सुविधा चालू करता है. अगर 'गलत है' पर सेट किया जाता है, तो यह किसी भी डिपेंडेंसी के कंपाइल क्लास में पूरे क्लास के जार का इस्तेमाल करने के लिए मजबूर करता है. ऐसा करने के लिए, लाइब्रेरी के अलावा, ऐसे बाइनरी डेटा का इस्तेमाल किया जाता है जिन पर डिपेंडेंसी नहीं होती.
add_exports sequence of strings; डिफ़ॉल्ट = []
इस लाइब्रेरी को दिए गए / को ऐक्सेस करने की अनुमति दें. ज़रूरी नहीं.
add_opens sequence of strings; डिफ़ॉल्ट = []
इस लाइब्रेरी को दिए गए / को साफ़ तौर पर ऐक्सेस करने की अनुमति दें. ज़रूरी नहीं.

JavaPluginInfo

Provider java_common.JavaPluginInfo

कुंजी का इस्तेमाल, सेवा देने वाली कंपनी को फिर से पाने के लिए किया जाता है. इसमें Java प्लग इन की जानकारी शामिल होती है. वही वैल्यू JavaPluginInfo के तौर पर ऐक्सेस की जा सकती है.
नए कोड में JavaPluginInfo का इस्तेमाल करें.

JavaRuntimeInfo

Provider java_common.JavaRuntimeInfo

कुंजी का इस्तेमाल, सेवा देने वाली कंपनी को फिर से पाने के लिए किया जाता है. इसमें Java रनटाइम के बारे में जानकारी शामिल होती है.

JavaToolchainInfo

Provider java_common.JavaToolchainInfo

कुंजी का इस्तेमाल, सेवा देने वाली कंपनी को वापस पाने के लिए किया जाता है. इसमें Java टूलचेन के बारे में जानकारी होती है.

Make_non_strict

JavaInfo java_common.make_non_strict(java_info)

यह Java की नई कंपनी देता है. इसके सीधे-जार वाले हिस्से में, Java की सेवा देने वाली कंपनी के डायरेक्ट और सीधे तौर पर न मिलने वाले जार शामिल होते हैं.

पैरामीटर

पैरामीटर जानकारी
java_info ज़रूरी है
Java की जानकारी.

मर्ज करें

JavaInfo java_common.merge(providers, *, merge_java_outputs=True, merge_source_jars=True)

दी गई सेवा देने वाली कंपनियों को एक JavaInfo में मर्ज करता है.

पैरामीटर

पैरामीटर जानकारी
providers sequence of JavaInfos; ज़रूरी है
मर्ज करने के लिए कंपनियों की सूची.
merge_java_outputs डिफ़ॉल्ट = सही
merge_source_jars डिफ़ॉल्ट = सही

Pack_sources

File java_common.pack_sources(actions, *, output_jar=None, output_source_jar=None, sources=[], source_jars=[], java_toolchain, host_javabase=None)

सोर्स और जार को एक ही सोर्स जार फ़ाइल में पैक करता है. सामान लौटाने की वैल्यू आम तौर पर

JavaInfo#source_jar

.खोज के लिए, कम से कम एक आउटपुट आउटपुट_ज़र या आउटपुट_स्रोत_जार ज़रूरी है.

पैरामीटर

पैरामीटर जानकारी
actions ज़रूरी
ctx.actions
output_jar File; or None; डिफ़ॉल्ट = कोई नहीं
काम नहीं करता. यह पैरामीटर अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह --+incompatible_java_common_parameters के साथ बंद है. इस कोड का इस्तेमाल करके इस बात की पुष्टि करें कि आपका कोड जल्द ही हटाया जा सकता है.
अब इस्तेमाल में नहीं है: नियम का आउटपुट जार. नतीजे के तौर पर मिलने वाले सोर्स जार को नाम देने के लिए इस्तेमाल किया जाता है. पैरामीटर, आउटपुट_स्रोत_जैर पैरामीटर को `{output_java}-src.java` पर सेट करता है.इसके बजाय, आउटपुट_स्रोत_जैर पैरामीटर को सीधे इस्तेमाल करें.
output_source_jar File; or None; डिफ़ॉल्ट = कोई नहीं
आउटपुट सोर्स जार.
sources sequence of Files; डिफ़ॉल्ट = []
Java स्रोत फ़ाइलों की सूची जिन्हें सोर्स जार में पैक किया जाना है.
source_jars sequence of Files; डिफ़ॉल्ट = []
सोर्स जार में पैक किए जाने वाले सोर्स जार की सूची.
java_toolchain ज़रूरी है
ijava टूल ढूंढने के लिए इस्तेमाल किया जाने वाला JavaToolchainInfo.
host_javabase डिफ़ॉल्ट = कोई नहीं
काम नहीं करता. यह पैरामीटर अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह --+incompatible_java_common_parameters के साथ बंद है. इस कोड का इस्तेमाल करके इस बात की पुष्टि करें कि आपका कोड जल्द ही हटाया जा सकता है.
अब इस्तेमाल में नहीं है: आप इस पैरामीटर को छोड़ सकते हैं (java_toolchain के साथhost_javabase दिया गया है)
None को वापस किया जा सकता है.

सामग्री देने वाले का नाम

Provider java_common.provider

यह Java की सेवा देने वाली कंपनी को दिखाता है.
इस वैल्यू को JavaInfo की तरह ही ऐक्सेस किया जा सकता है.
नए कोड में JavaInfo का इस्तेमाल करें.

Run_izer

File java_common.run_ijar(actions, *, jar, target_label=None, java_toolchain)

ijar को एक जार पर चलाता है, ताकि इसके मेथड बॉडी को अलग कर दें. यह ऐसे किसी भी कंपाइल के दौरान निर्भर जार के फिर से निर्माण को कम करने में मदद करता है जिसमें सिर्फ़ प्रक्रिया में लागू किए जाने वाले आसान बदलाव शामिल होते हैं. सामान लौटाने की वैल्यू आम तौर पर JavaInfo#compile_jar में पास की जाती है.

पैरामीटर

पैरामीटर जानकारी
actions ज़रूरी
ctx.actions
jar ज़रूरी है
izer चलाने के लिए जार.
target_label Label; or None; डिफ़ॉल्ट = कुछ नहीं
जार को स्टैंप देने के लिए, एक टारगेट लेबल. add_dep की सहायता के लिए इस्तेमाल किया जाता है. आम तौर पर, आप मौजूदा नियम के लेबल के साथ जार पर स्टैंप लगाने के लिए ctx.label पास करेंगे.
java_toolchain ज़रूरी है
ijava टूल ढूंढने के लिए इस्तेमाल किया जाने वाला JavaToolchainInfo.

स्टैंप_जार

File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)

add_dep सहायता के लिए, टारगेट लेबल वाले एक जार पर स्टैंप लगाता है. सामान लौटाने की वैल्यू आम तौर पर JavaInfo#compile_jar में पास की जाती है. जब भी हो सके, run_ijar का इस्तेमाल करें.

पैरामीटर

पैरामीटर जानकारी
actions ज़रूरी
ctx.actions
jar ज़रूरी है
स्टैंप_ज़ार चलाने के लिए जार.
target_label ज़रूरी है
जार पर स्टैंप लगाने के लिए, टारगेट लेबल. add_dep की सहायता के लिए इस्तेमाल किया जाता है. आम तौर पर, आप मौजूदा नियम के लेबल के साथ जार पर स्टैंप लगाने के लिए ctx.label पास करेंगे.
java_toolchain ज़रूरी है
स्टैंप_जैर टूल को खोजने के लिए इस्तेमाल किया जाने वाला JavaToolchainInfo.

to_java_binary_info

JavaInfo java_common.to_java_binary_info(java_info)

दी गई JavaInfo की कॉपी दिखाता है, जिसमें java_binary से मिली कम से कम जानकारी होती है

पैरामीटर

पैरामीटर जानकारी
java_info ज़रूरी है
JavaInfo को बेहतर बनाएं.