Starlark में Java कंपाइलेशन की सहायता के लिए उपयोगिता.
सदस्य
- BootClassPathInfo
- compile
- JavaRuntimeInfo
- JavaToolchainInfo
- मर्ज करें
- pack_sources
- run_ijar
- stamp_jar
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
|
फ़ाइल का क्रम;
डिफ़ॉल्ट तौर पर [] है |
neverlink
|
डिफ़ॉल्ट रूप से 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
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
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. |