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

पैरामीटर

पैरामीटर ब्यौरा
ctx ज़रूरी है
नियम का कॉन्टेक्स्ट.
source_jars फ़ाइल का क्रम; यह डिफ़ॉल्ट रूप से []
जार की ऐसी सूची है जिसे कंपाइल किया जाना है. source_jars या source_files में से कम से कम एक की जानकारी देना ज़रूरी है.
source_files फ़ाइल का क्रम; डिफ़ॉल्ट रूप से []
होता है उन Java सोर्स फ़ाइलों की सूची जिन्हें कंपाइल करना है. source_jars या source_files में से कम से कम एक की जानकारी देना ज़रूरी है.
output ज़रूरी है
output_source_jar फ़ाइल या None; डिफ़ॉल्ट तौर पर None
आउटपुट सोर्स jar. ज़रूरी नहीं. अगर यह नीति सेट नहीं है, तो डिफ़ॉल्ट रूप से `{आउटपुट_जेर}-src.jar` को सेट करती है.
javac_opts स्ट्रिंग का क्रम; डिफ़ॉल्ट []
है पसंदीदा javac विकल्पों की सूची. ज़रूरी नहीं.
deps struct का sequence; डिफ़ॉल्ट तौर पर, यह []
होता है डिपेंडेंसी की सूची. ज़रूरी नहीं.
runtime_deps structs का sequence; डिफ़ॉल्ट []
है यह रनटाइम डिपेंडेंसी की सूची है. ज़रूरी नहीं.
exports struct का sequence; डिफ़ॉल्ट तौर पर []
होता है एक्सपोर्ट की सूची. ज़रूरी नहीं.
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 '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

. कम से कम एक पैरामीटर का होना ज़रूरी है. इसके लिए, asset_ज़ार या आउटपुट_source_jar का एक से ज़्यादा पैरामीटर इस्तेमाल करना ज़रूरी है.

पैरामीटर

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

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

पैरामीटर

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