नियम
action_listener
नियम का सोर्स देखेंaction_listener(name, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, extra_actions, features, licenses, mnemonics, restricted_to, tags, target_compatible_with, testonly, visibility)
चेतावनी: अतिरिक्त कार्रवाइयों के इस्तेमाल पर रोक लगा दी गई है. इस्तेमाल की जाने वाली चीज़ें आसपेक्ट आज़माएं.
action_listener
नियम खुद कोई आउटपुट नहीं देता.
इसके बजाय, इससे टूल डेवलपर को
extra_action
को बिल्ड सिस्टम में इस्तेमाल किया है,
कार्रवाई से extra_action
को मैपिंग करके
.
इस नियम का तर्क, याद रखने के तरीके को मैप करता है
extra_action
नियम.
विकल्प निर्दिष्ट करके
--experimental_action_listener=<label>
,
बिल्ड, इंसर्ट करने के लिए बताए गए action_listener
का इस्तेमाल करेगा
extra_action
को बिल्ड ग्राफ़ में शामिल किया गया है.
उदाहरण
action_listener( name = "index_all_languages", mnemonics = [ "Javac", "CppCompile", "Python", ], extra_actions = [":indexer"], ) action_listener( name = "index_java", mnemonics = ["Javac"], extra_actions = [":indexer"], ) extra_action( name = "indexer", tools = ["//my/tools:indexer"], cmd = "$(location //my/tools:indexer)" + "--extra_action_file=$(EXTRA_ACTION_FILE)", )
तर्क
विशेषताएं | |
---|---|
name |
नाम; आवश्यक इस टारगेट के लिए यूनीक नाम. |
extra_actions
|
लेबल की सूची; आवश्यक extra_action टारगेट की सूची
इस action_listener को बिल्ड ग्राफ़ में जोड़ना चाहिए.
उदाहरण के लिए, [ "//my/tools:analyzer" ] .
|
mnemonics
|
स्ट्रिंग की सूची; आवश्यक वीडियो में किन चीज़ों का ध्यान रखना चाहिए, यहaction_listener
के लिए, जैसे [ "Javac" ] .
याद रखने का तरीका कोई सार्वजनिक इंटरफ़ेस नहीं है. इस बात की कोई गारंटी नहीं है कि याद रखने की कला और उनके काम में कोई बदलाव नहीं होगा. |
extra_action
नियम का सोर्स देखेंextra_action(name, data, cmd, compatible_with, deprecation, distribs, exec_compatible_with, exec_properties, features, licenses, out_templates, requires_action_output, restricted_to, tags, target_compatible_with, testonly, toolchains, tools, visibility)
चेतावनी: अतिरिक्त कार्रवाइयों के इस्तेमाल पर रोक लगा दी गई है. इस्तेमाल की जाने वाली चीज़ें आसपेक्ट आज़माएं.
extra_action
नियम काम का कोई आउटपुट नहीं देता
जब उसे सामान्य बिल्ड टारगेट के तौर पर चुना गया हो. इसके बजाय, इससे टूल डेवलपर को
मौजूदा कार्रवाइयों को शैडो करने वाले बिल्ड ग्राफ़ में अतिरिक्त कार्रवाइयां शामिल करने के लिए.
ज़्यादा जानकारी के लिए, action_listener
पर जाएं
extra_action
को चालू करने का तरीका जानें.
extra_action
, कमांड-लाइन के तौर पर चलते हैं. कमांड-लाइन टूल को
$(iOS_ACTION_FILE) के रूप में प्रोटोकॉल बफ़र वाली फ़ाइल का ऐक्सेस
इसमें शैडो किए जा रहे ओरिजनल ऐक्शन के बारे में पूरी जानकारी दी गई है.
इसके पास उन सभी इनपुट फ़ाइलों का ऐक्सेस भी होता है जिनका ऐक्सेस ओरिजनल ऐक्शन के पास है.
extra_actions_base.proto देखें
देखें. हर प्रोटो फ़ाइल
में एक ExtraActionInfo मैसेज है.
दूसरी सभी कार्रवाइयों की तरह ही, अतिरिक्त कार्रवाइयां सैंडबॉक्स की जाती हैं और उन्हें इस हिसाब से डिज़ाइन किया जाना चाहिए.
तर्क
विशेषताएं | |
---|---|
name |
नाम; आवश्यक इस टारगेट के लिए यूनीक नाम. आपextra_actions तर्क में इस नियम को label के ज़रिए देख सकते हैं
action_listener नियमों में से.
|
cmd
|
String; आवश्यक चलाने के लिए निर्देश.जैसे, genral cmd एट्रिब्यूट और इनके साथ अंतर:
|
out_templates
|
स्ट्रिंग की सूची; extra_action कमांड से जनरेट की गई फ़ाइलों के लिए, टेंप्लेट की सूची.
टेंप्लेट में इन वैरिएबल का इस्तेमाल किया जा सकता है:
|
requires_action_output
|
बूलियन; extra_action को
ओरिजनल ऐक्शन को इस extra_action में इनपुट के तौर पर दिखाना होगा.
सही (डिफ़ॉल्ट रूप से गलत) होने पर, extra_action यह मान सकती है कि ओरिजनल ऐक्शन आउटपुट, इनपुट के हिस्से के तौर पर उपलब्ध होते हैं. |
tools
|
लेबल की सूची; डिफ़ॉल्ट रूप से tool डिपेंडेंसी की सूची.
ज़्यादा जानकारी के लिए डिपेंडेंसी की परिभाषा देखें जानकारी.
बिल्ड सिस्टम यह पक्का करता है कि ऐप्लिकेशन की परफ़ॉर्मेंस को बेहतर बनाने के लिए,
सभी टूल और उनकी डेटा डिपेंडेंसी एक ही ट्री में इकट्ठा कर दी गई हैं जिसमें कमांड रिलेटिव पाथ का इस्तेमाल कर सके. काम करने वाली डायरेक्ट्री उसी पेड़ का मूल होना चाहिए. |