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
|
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
|
string;
डिफ़ॉल्ट रूप से 'ERROR' होता है यह एक स्ट्रिंग है, जिसमें सख्त डिपेंडेंसी को मैनेज करने का तरीका बताया गया है. संभावित वैल्यू: 'OFF', 'ERROR', 'WARN', और 'DEFAULT'. ज़्यादा जानकारी के लिए, --strict_java_deps देखें |
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
|
bool;
डिफ़ॉल्ट False है |
enable_annotation_processing
|
bool;
डिफ़ॉल्ट रूप से True होता है इस कंपाइलेशन में एनोटेशन प्रोसेसिंग की सुविधा बंद कर देता है. इस वजह से, प्लग इन या डिपेंडेंसी के exported_plugins में दिए गए किसी भी एनोटेशन प्रोसेसर को अनदेखा कर दिया जाता है. |
enable_compile_jar_action
|
bool;
डिफ़ॉल्ट रूप से 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
|
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
|
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)यह किसी jar पर ijar चलाता है और उसके मेथड बॉडी को हटा देता है. इससे, किसी भी रीकंपाइल के दौरान, डिपेंडेंट जारों को फिर से बनाने की ज़रूरत कम हो जाती है. इसमें, सिर्फ़ तरीके के लागू होने में हुए आसान बदलाव शामिल होते हैं. रिटर्न वैल्यू को आम तौर पर
JavaInfo#compile_jar
में पास किया जाता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
actions
|
actions;
ज़रूरी है ctx.actions |
jar
|
फ़ाइल;
ज़रूरी है वह jar जिस पर ijar को चलाना है. |
target_label
|
लेबल या None ;
डिफ़ॉल्ट तौर पर None जार पर स्टैंप करने के लिए टारगेट लेबल. add_dep की सहायता टीम से संपर्क करने के लिए इस्तेमाल किया जाता है. आम तौर पर, मौजूदा नियम के लेबल के साथ कंटेनर को स्टैंप करने के लिए, ctx.label पास किया जाता है.
|
java_toolchain
|
Info;
ज़रूरी है ijar टूल ढूंढने के लिए इस्तेमाल किया जाने वाला JavaToolchainInfo. |
stamp_jar
File java_common.stamp_jar(actions, *, jar, target_label, java_toolchain)
add_dep
सहायता के लिए, टारगेट लेबल वाले जार पर स्टैंप लगाता है. रिटर्न वैल्यू को आम तौर पर JavaInfo#compile_jar
में पास किया जाता है. जब भी हो सके, run_ijar
का इस्तेमाल करें.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
actions
|
actions;
ज़रूरी है ctx.actions |
jar
|
फ़ाइल;
ज़रूरी है stamp_jar को चलाने के लिए जार. |
target_label
|
लेबल;
ज़रूरी है यह एक टारगेट लेबल है, जिससे डिवाइस पर मौजूद JAR फ़ाइल को स्टैंप किया जाता है. add_dep की सहायता टीम से संपर्क करने के लिए इस्तेमाल किया जाता है. आम तौर पर, मौजूदा नियम के लेबल के साथ कंटेनर को स्टैंप करने के लिए, ctx.label पास किया जाता है.
|
java_toolchain
|
जानकारी;
ज़रूरी है stamp_jar टूल ढूंढने के लिए इस्तेमाल किया जाने वाला JavaToolchainInfo. |