Java_सामान्य

समस्या की शिकायत करें सोर्स देखें

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

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

BootClassPathInfo

Provider java_common.BootClassPathInfo

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

compile

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

JavaRuntimeInfo

Provider java_common.JavaRuntimeInfo

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

JavaToolchainInfo

Provider java_common.JavaToolchainInfo

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

मर्ज करें

struct java_common.merge(providers)

यह विकल्प, दिए गए प्रोवाइडर को एक ही JavaInfo में मर्ज करता है.

पैरामीटर

पैरामीटर ब्यौरा
providers स्ट्रक्ट का क्रम; ज़रूरी है
मर्ज करने के लिए कंपनियों की सूची.

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

run_ijar

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

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

पैरामीटर

पैरामीटर ब्यौरा
actions ज़रूरी
ctx.actions
jar ज़रूरी है
वह जार जिस पर izar चलाना है.
target_label लेबल या None; डिफ़ॉल्ट रूप से 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 का इस्तेमाल करें.