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_ Jars या source_files में से कम से कम एक तय करना चाहिए.
source_files फ़ाइल का क्रम; यह डिफ़ॉल्ट रूप से []
कंपाइल की जाने वाली Java सोर्स फ़ाइलों की सूची है. source_ Jars या source_files में से कम से कम एक तय करना चाहिए.
output ज़रूरी है
output_source_jar फ़ाइल या None; डिफ़ॉल्ट रूप से यह None
आउटपुट सोर्स जार होता है. ज़रूरी नहीं. अगर नीति सेट नहीं है, तो डिफ़ॉल्ट रूप से `{आउटपुट_जेर}-src.जारीर` सेट किया जाता है.
javac_opts string का क्रम; डिफ़ॉल्ट []
मनचाहे javac विकल्पों की सूची है. ज़रूरी नहीं.
deps स्ट्रक्चर का सीक्वेंस. यह डिफ़ॉल्ट रूप से []
डिपेंडेंसी की सूची है. ज़रूरी नहीं.
runtime_deps स्ट्रक्ट का सीक्वेंस. यह डिफ़ॉल्ट रूप से []
रनटाइम डिपेंडेंसी की सूची है. ज़रूरी नहीं.
exports स्ट्रक्चर का क्रम, डिफ़ॉल्ट रूप से []
एक्सपोर्ट की सूची होती है. ज़रूरी नहीं.
plugins स्ट्रक्चर का सीक्वेंस या स्ट्रक्चर का सीक्वेंस. यह डिफ़ॉल्ट तौर पर [] है
प्लगिन की सूची है. ज़रूरी नहीं.
exported_plugins स्ट्रक्चर का सीक्वेंस या स्ट्रक्चर का सीक्वेंस. डिफ़ॉल्ट रूप से []
एक्सपोर्ट किए गए प्लगिन की सूची है. ज़रूरी नहीं.
native_libraries CcInfo का सीक्वेंस. यह डिफ़ॉल्ट रूप से []
CC नेटिव लाइब्रेरी डिपेंडेंसी है, जो इस लाइब्रेरी के लिए ज़रूरी है.
annotation_processor_additional_inputs फ़ाइल का क्रम; यह डिफ़ॉल्ट रूप से [] है
यह ऐसे इनपुट की सूची है जिसे 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
इस कंपाइलेशन के लिए इस्तेमाल की जाने वाली बूट क्लासPathInfo. अगर यह मौजूद है, तो दिए गए 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 के export_plugins में दिए गए किसी भी एनोटेशन प्रोसेसर को अनदेखा कर दिया जाता है.
enable_compile_jar_action यह डिफ़ॉल्ट रूप से True पर सेट होता है
इससे हेडर को कंपाइल करने या iJर बनाने की सुविधा चालू की जाती है. अगर इस नीति को 'गलत है' पर सेट किया जाता है, तो किसी भी डिपेंडेंट के कंपाइलेशन क्लासपाथ में जार का इस्तेमाल किया जा सकता है. ऐसा करना, उन टारगेट के लिए है जो लाइब्रेरी में नहीं हैं. जैसे, बाइनरी. इनमें डिपेंडेंट नहीं होते.
add_exports string का क्रम; डिफ़ॉल्ट [] है
इस लाइब्रेरी को दिए गए /को ऐक्सेस करने की अनुमति दें. ज़रूरी नहीं.
add_opens string का क्रम; डिफ़ॉल्ट [] है
इस लाइब्रेरी को दिए गए /के हिसाब से ऐक्सेस करने की अनुमति दें. ज़रूरी नहीं.

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

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

पैरामीटर

पैरामीटर कंपनी का ब्यौरा
actions ज़रूरी है
ctx.action
output_jar फ़ाइल या None; डिफ़ॉल्ट रूप से None
अब काम नहीं करती है. इस पैरामीटर के इस्तेमाल पर रोक लगा दी गई है और इसे जल्द ही हटा दिया जाएगा. कृपया इस पर निर्भर न रहें. यह --+incompatible_java_common_parameters के साथ बंद है. इस फ़्लैग का इस्तेमाल करके, पुष्टि करें कि आपका कोड जल्द ही हटाए जाने के साथ काम करता है.
अब काम नहीं करता: नियम का आउटपुट जार. इसका इस्तेमाल, मिलने वाले सोर्स जार को नाम देने के लिए किया जाता है. पैरामीटर,Output_source_jar पैरामीटर को `{आउटपुट_जेर}-src.जारीर` पर सेट करता है.इसके बजाय, सीधे window_source_jar पैरामीटर का इस्तेमाल करें.
output_source_jar फ़ाइल या None; डिफ़ॉल्ट रूप से यह None
आउटपुट सोर्स जार होता है.
sources फ़ाइल का क्रम; यह डिफ़ॉल्ट रूप से []
सोर्स जार में पैक की जाने वाली Java सोर्स फ़ाइलों की सूची है.
source_jars फ़ाइल का क्रम; यह डिफ़ॉल्ट रूप से []
सोर्स जार में पैक किए जाने वाले सोर्स जार की सूची है.
java_toolchain ज़रूरी है
iJर टूल खोजने के लिए 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 ज़रूरी है
इजर चलाना ज़रूरी है.
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 ज़रूरी है
वह जार, जिस पर Ste"_Jर चलाना है.
target_label ज़रूरी है
जार पर स्टैंप करने के लिए टारगेट लेबल. इसका इस्तेमाल add_dep से जुड़ी सहायता के लिए किया जाता है. आम तौर पर, जार को मौजूदा नियम के लेबल से जोड़ने के लिए आपको ctx.label पास करना होगा.
java_toolchain ज़रूरी है
JavaToolchainInfo का इस्तेमाल, जिसका इस्तेमाल नतीजों में दिए जाने के लिए किया जा सकता है.