Java_सामान्य

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

पैरामीटर

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

stamp_jar

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

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

पैरामीटर

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