Java_सामान्य

Starlark में Java कंपाइलेशन के लिए उपयोगिताएं.

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

BootClassPathInfo

Provider java_common.BootClassPathInfo

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

compile

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_जार या स्रोत फ़ाइल के बारे में बताया जाना चाहिए.
source_files sequence of Files; डिफ़ॉल्ट = []
उन Java सोर्स फ़ाइलों की सूची जिन्हें कंपाइल किया जाना है. कम से कम एक Source_जार या स्रोत फ़ाइल के बारे में बताया जाना चाहिए.
output ज़रूरी है
output_source_jar File; or None; डिफ़ॉल्ट = कोई नहीं
आउटपुट सोर्स जार. ज़रूरी नहीं. अगर यह नीति सेट नहीं है, तो डिफ़ॉल्ट तौर पर `{return_jar}-src.jar`, वैल्यू सेट होती है.
javac_opts sequence of strings; डिफ़ॉल्ट = []
पसंदीदा JavaScript विकल्पों की सूची. ज़रूरी नहीं.
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; डिफ़ॉल्ट = []
एक्सपोर्ट किए गए प्लगिन की सूची. ज़रूरी नहीं.
native_libraries sequence of CcInfos; डिफ़ॉल्ट = []
CC नेटिव लाइब्रेरी डिपेंडेंसी, जो इस लाइब्रेरी के लिए ज़रूरी हैं.
annotation_processor_additional_inputs sequence of Files; डिफ़ॉल्ट = []
इनपुट की एक सूची जो एनोटेशन प्रोसेसिंग के लिए Java सोर्स के साथ-साथ, Java कंपाइलेशन ऐक्शन के तौर पर की जाएगी.
annotation_processor_additional_outputs sequence of Files; डिफ़ॉल्ट = []
आउटपुट की एक सूची, जो Java कंपाइलेशन ऐक्शन के ज़रिए एनोटेशन प्रोसेसिंग से जनरेट होने वाले क्लास जार के साथ मिलेगी.
strict_deps डिफ़ॉल्ट = 'ERROR'
ऐसी स्ट्रिंग जो तय करती है कि सख्त डेस्क को कैसे मैनेज किया जाए. संभावित वैल्यू: 'OFF', 'ERROR', 'WARN', और 'DEFAULT'. ज़्यादा जानकारी के लिए, /docs/user-manual#flag--strict_java_deps देखें. डिफ़ॉल्ट रूप से 'ERROR'.
java_toolchain ज़रूरी है
इस कंपाइलेशन के लिए, JavaToolchainInfo का इस्तेमाल करना. ज़रूरी है.
host_javabase डिफ़ॉल्ट = कोई नहीं
अब सेवा में नहीं है. यह पैरामीटर अब काम नहीं करता है. इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह --+incompatible_java_common_parameters के साथ बंद है. इस फ़्लैग का इस्तेमाल करके, पुष्टि करें कि आपका कोड जल्द ही हटाए जाने के लिए तैयार है.
अब काम नहीं करता: इस पैरामीटर को हटाया जा सकता है (host_javabase, java_toolchain के साथ दिया जाता है)
sourcepath sequence of Files; डिफ़ॉल्ट = []
resources sequence of Files; डिफ़ॉल्ट = []
resource_jars sequence of Files; डिफ़ॉल्ट = []
classpath_resources sequence of Files; डिफ़ॉल्ट = []
डिफ़ॉल्ट = गलत
enable_annotation_processing default = True
इस कंपाइलेशन में, एनोटेशन प्रोसेस करने की सुविधा बंद कर देती है. इसकी वजह से, प्लगिन या deps के export_प्लगिन में दिए गए एनोटेशन प्रोसेसर को अनदेखा कर दिया जाता है.
enable_compile_jar_action default = True
इससे हेडर कंपाइलेशन या ijar बनाने की सुविधा चालू होती है. अगर इस नीति को 'गलत है' पर सेट किया जाता है, तो किसी भी डिपेंडेंसी के कंपाइलेशन क्लासपाथ में, फ़ुल क्लास जार को हर हाल में इस्तेमाल किया जाता है. ऐसा करने का मकसद गैर-लाइब्रेरी टारगेट का इस्तेमाल करना है, जैसे कि ऐसी बाइनरी जिनके लिए निर्भर नहीं हैं.
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 ज़रूरी है
JavaScript की जानकारी.

मर्ज करें

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

.कम से कम एक पैरामीटर,input_jar या load_source_jar की ज़रूरत है.

पैरामीटर

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

कंपनी

Provider java_common.provider

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

run_ijar

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

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

पैरामीटर

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

stamp_jar

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)

यह फ़ंक्शन, java_binary के ज़रिए दी गई JavaInfo की कम से कम जानकारी की कॉपी दिखाता है

पैरामीटर

पैरामीटर ब्यौरा
java_info
बेहतर बनाने के लिए JavaInfo.