Java_सामान्य

किसी समस्या की शिकायत करें सोर्स देखें Nightly · 8.0 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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 सोर्स फ़ाइलों/jar को कॉम्पाइल करता है. साथ ही, एक ऐसा प्रोवाइडर दिखाता है जो कॉम्पाइलेशन के नतीजों को दिखाता है. इस प्रोवाइडर को इस नियम से उत्सर्जित किए गए प्रोवाइडर के सेट में जोड़ा जा सकता है.

पैरामीटर

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

JavaRuntimeInfo

Provider java_common.JavaRuntimeInfo

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

JavaToolchainInfo

Provider java_common.JavaToolchainInfo

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

मर्ज करें

struct java_common.merge(providers)

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

पैरामीटर

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

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 ज़रूरी
ctx.actions
output_jar फ़ाइल या None; डिफ़ॉल्ट None
है अब काम नहीं करता. यह पैरामीटर अब काम नहीं करता. इसे जल्द ही हटा दिया जाएगा. कृपया इस पर भरोसा न करें. --+incompatible_java_common_parameters के साथ, यह बंद है. इस फ़्लैग का इस्तेमाल करके पुष्टि करें कि आपका कोड, जल्द ही हटाए जाने वाले वर्शन के साथ काम करता है.
अब काम नहीं करता: नियम का आउटपुट jar. इसका इस्तेमाल, जनरेट किए गए सोर्स jar को नाम देने के लिए किया जाता है. यह पैरामीटर, output_source_jar पैरामीटर को `{output_jar}-src.jar` पर सेट करता है.इसके बजाय, सीधे output_source_jar पैरामीटर का इस्तेमाल करें.
output_source_jar फ़ाइल या None; डिफ़ॉल्ट तौर पर None
आउटपुट सोर्स jar.
sources फ़ाइल का क्रम; डिफ़ॉल्ट तौर पर []
होता है सोर्स jar में पैक की जाने वाली 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)

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

पैरामीटर

पैरामीटर ब्यौरा
actions ज़रूरी
ctx.actions
jar ज़रूरी है
वह jar जिस पर ijar को चलाना है.
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 ज़रूरी है
stamp_jar को चलाने के लिए जार.
target_label ज़रूरी है
जर्सी पर स्टैंप करने के लिए टारगेट लेबल. add_dep की सहायता टीम से संपर्क करने के लिए इस्तेमाल किया जाता है. आम तौर पर, मौजूदा नियम के लेबल के साथ कंटेनर को स्टैंप करने के लिए, ctx.label पास किया जाता है.
java_toolchain ज़रूरी है
stamp_jar टूल ढूंढने के लिए इस्तेमाल किया जाने वाला JavaToolchainInfo.