Java_सामान्य

Starlark में Java कंपाइलेशन की सुविधा के लिए यूटिलिटी.

सदस्य

BootClassPathInfo

Provider java_common.BootClassPathInfo

बूटक्लाथपाथ की जानकारी देने वाली कंपनी

कंपाइल करें

struct 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, bootclasspath=None, 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 ctx; ज़रूरी है
नियम का कॉन्टेक्स्ट.
source_jars sequence of Files; डिफ़ॉल्ट रूप से []
होता है यह कंपाइल किए जाने वाले जार की सूची होती है. source_jars या source_files में से कम से कम एक की जानकारी देना ज़रूरी है.
source_files sequence of Files; डिफ़ॉल्ट रूप से []
होता है यह कंपाइल किए जाने वाले Java सोर्स फ़ाइलों की सूची होती है. source_jars या source_files में से कम से कम एक की जानकारी देना ज़रूरी है.
output फ़ाइल; ज़रूरी है
output_source_jar File; या None; डिफ़ॉल्ट वैल्यू None
है आउटपुट सोर्स जार. अगर इसे सेट नहीं किया गया है, तो डिफ़ॉल्ट रूप से इसकी वैल्यू `{output_jar}-src.jar` होती है.
javac_opts sequence of strings; डिफ़ॉल्ट रूप से []
होता है यह, javac के ज़रूरी विकल्पों की सूची होती है.
deps स्ट्रक्चर का क्रम; डिफ़ॉल्ट रूप से []
होता है डिपेंडेंसी की सूची.
runtime_deps sequence of structs; डिफ़ॉल्ट रूप से []
होता है यह रनटाइम डिपेंडेंसी की सूची होती है.
exports स्ट्रक्चर का क्रम; डिफ़ॉल्ट रूप से []
होता है एक्सपोर्ट की सूची.
plugins sequence of structs; या sequence of structs; डिफ़ॉल्ट वैल्यू []
है यह प्लगिन की सूची होती है.
exported_plugins sequence of structs; या sequence of structs; डिफ़ॉल्ट वैल्यू []
है एक्सपोर्ट किए गए प्लगिन की सूची.
native_libraries sequence of CcInfos; डिफ़ॉल्ट रूप से []
होता है सीसी नेटिव लाइब्रेरी की ऐसी डिपेंडेंसी जिनकी इस लाइब्रेरी के लिए ज़रूरत होती है.
annotation_processor_additional_inputs sequence of Files; डिफ़ॉल्ट रूप से []
होता है यह उन इनपुट की सूची है जिन्हें Java कंपाइलेशन ऐक्शन, एनोटेशन प्रोसेसिंग के लिए Java सोर्स के अलावा लेगा.
annotation_processor_additional_outputs sequence of Files; डिफ़ॉल्ट रूप से []
होता है यह उन आउटपुट की सूची है जिन्हें Java कंपाइलेशन ऐक्शन, एनोटेशन प्रोसेसिंग से मिले क्लास जार के अलावा आउटपुट करेगा.
strict_deps string; डिफ़ॉल्ट वैल्यू 'ERROR'
है यह स्ट्रिंग बताती है कि स्ट्रिक्ट डिपेंडेंसी को कैसे मैनेज किया जाए. संभावित वैल्यू: 'OFF', 'ERROR', 'WARN', और 'DEFAULT'. ज़्यादा जानकारी के लिए, --strict_java_deps flag. By default 'ERROR'. पर जाएं
java_toolchain जानकारी; ज़रूरी है
यह कंपाइलेशन के लिए इस्तेमाल की जाने वाली JavaToolchainInfo है. ज़रूरी है.
bootclasspath डिफ़ॉल्ट वैल्यू None
है यह BootClassPathInfo, इस कंपाइलेशन के लिए इस्तेमाल किया जाएगा. यह विकल्प मौजूद होने पर, java_toolchain से जुड़े bootclasspath को बदल देता है.
host_javabase डिफ़ॉल्ट रूप से None
होता है अब इस्तेमाल नहीं किया जा सकता. यह पैरामीटर अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इसके भरोसे न रहें. इसे --incompatible_java_common_parameters के साथ, यह बंद कर दिया गया है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड, इस एपीआई के हटने के बाद भी सही तरीके से काम करेगा.
इस्तेमाल बंद कर दिया गया है: इस पैरामीटर को हटाया जा सकता है (java_toolchain के साथ host_javabase उपलब्ध कराया जाता है)
sourcepath File का sequence; डिफ़ॉल्ट वैल्यू []
है
resources File का sequence; डिफ़ॉल्ट वैल्यू []
है
resource_jars File का sequence; डिफ़ॉल्ट वैल्यू []
है
classpath_resources File का sequence; डिफ़ॉल्ट वैल्यू []
है
bool; डिफ़ॉल्ट रूप से False
होता है
enable_annotation_processing bool; डिफ़ॉल्ट रूप से True
होता है इस कंपाइलेशन में एनोटेशन प्रोसेसिंग को बंद करता है. इससे प्लगिन या deps के exported_plugins में दिए गए किसी भी एनोटेशन प्रोसेसर को अनदेखा किया जाता है.
enable_compile_jar_action bool; डिफ़ॉल्ट वैल्यू True
है इससे हेडर कंपाइलेशन या ijar क्रिएशन चालू होता है. अगर इसे 'गलत है' पर सेट किया जाता है, तो यह डिपेंडेंट के कंपाइलेशन क्लासपाथ में पूरी क्लास जार का इस्तेमाल करने के लिए मजबूर करता है. ऐसा उन टारगेट के लिए किया जाता है जो लाइब्रेरी नहीं हैं. जैसे, ऐसे बाइनरी फ़ाइलें जिनमें डिपेंडेंट नहीं होते हैं.
add_exports string का sequence; डिफ़ॉल्ट वैल्यू []
है इस लाइब्रेरी को दी गई /का ऐक्सेस दें.
add_opens स्ट्रिंग का क्रम; डिफ़ॉल्ट वैल्यू []
है इस लाइब्रेरी को, दिए गए /को रिफ़्लेक्टिव तरीके से ऐक्सेस करने की अनुमति दें.

JavaRuntimeInfo

Provider java_common.JavaRuntimeInfo

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

JavaToolchainInfo

Provider java_common.JavaToolchainInfo

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

मर्ज करें

struct java_common.merge(providers)

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

पैरामीटर

पैरामीटर ब्यौरा
providers sequence of structs; required
मर्ज करने के लिए, सेवा देने वाली कंपनियों की सूची.

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

.output_jar या output_source_jar में से कम से कम एक पैरामीटर का होना ज़रूरी है.

पैरामीटर

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

run_ijar

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

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

पैरामीटर

पैरामीटर ब्यौरा
actions actions; required
ctx.actions
jar File; ज़रूरी है
यह वह जार फ़ाइल है जिस पर ijar को चलाना है.
target_label लेबल; या None; डिफ़ॉल्ट वैल्यू None
है जार पर स्टैंप करने के लिए टारगेट लेबल. इस कुकी का इस्तेमाल add_dep सहायता के लिए किया जाता है. आम तौर पर, जार पर मौजूदा नियम का लेबल लगाने के लिए, ctx.label पास किया जाता है.
java_toolchain Info; required
A JavaToolchainInfo to used to find the ijar tool.

stamp_jar

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

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

पैरामीटर

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