ctx.actions
का इस्तेमाल करके, इस मॉड्यूल को ऐक्सेस करें.
सदस्य
- args
- declare_directory
- declare_file
- declare_symlink
- do_nothing
- expand_template
- map_directory
- run
- run_shell
- symlink
- template_dict
- लिखें
args
Args actions.args()
declare_directory
File actions.declare_directory(filename, *, sibling=None)
Args.add_all()
की मदद से, इसे ऐक्शन कमांड में बड़ा किया जा सकता है. declare_directory के कॉन्टेंट में सिर्फ़ सामान्य फ़ाइलें और डायरेक्ट्री हो सकती हैं.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
filename
|
string;
required अगर कोई 'सिबलिंग' नहीं दी गई है, तो मौजूदा पैकेज के हिसाब से नई डायरेक्ट्री का पाथ. इसके अलावा, फ़ाइल के लिए कोई बेस नेम ('सिबलिंग' किसी डायरेक्ट्री को तय करता है). |
sibling
|
फ़ाइल; या None ;
डिफ़ॉल्ट वैल्यू None है यह फ़ाइल, नई डायरेक्ट्री के साथ उसी डायरेक्ट्री में मौजूद होती है. फ़ाइल, मौजूदा पैकेज में होनी चाहिए. |
declare_file
File actions.declare_file(filename, *, sibling=None)
sibling
नहीं दिया गया है, तो फ़ाइल का नाम पैकेज डायरेक्ट्री के हिसाब से होता है. इसके अलावा, फ़ाइल उसी डायरेक्ट्री में होती है जिसमें sibling
होता है. फ़ाइलों को मौजूदा पैकेज के बाहर नहीं बनाया जा सकता.ध्यान रखें कि फ़ाइल का एलान करने के साथ-साथ, आपको एक ऐसी कार्रवाई भी बनानी होगी जो फ़ाइल को जनरेट करे. उस कार्रवाई को बनाने के लिए, कार्रवाई के कंस्ट्रक्शन फ़ंक्शन में दिखाए गए File
ऑब्जेक्ट को पास करना होगा.
ध्यान दें कि पहले से तय की गई आउटपुट फ़ाइलों को इस फ़ंक्शन का इस्तेमाल करके, तय करने की ज़रूरत नहीं होती. साथ ही, ऐसा नहीं किया जा सकता. इसके बजाय, ctx.outputs
से उनके File
ऑब्जेक्ट पाए जा सकते हैं. इस्तेमाल का उदाहरण देखें.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
filename
|
string;
required अगर कोई 'सिबलिंग' नहीं दी गई है, तो नई फ़ाइल का पाथ, मौजूदा पैकेज के हिसाब से. इसके अलावा, किसी फ़ाइल के लिए बेस नेम ('सिबलिंग' से डायरेक्ट्री का पता चलता है). |
sibling
|
File; या None ;
डिफ़ॉल्ट वैल्यू None है यह एक ऐसी फ़ाइल होती है जो नई फ़ाइल वाली डायरेक्ट्री में मौजूद होती है. फ़ाइल, मौजूदा पैकेज में होनी चाहिए. |
declare_symlink
File actions.declare_symlink(filename, *, sibling=None)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
filename
|
string;
required अगर कोई 'सिबलिंग' नहीं दिया गया है, तो मौजूदा पैकेज के हिसाब से नए सिंबल लिंक का पाथ. इसके अलावा, फ़ाइल के लिए कोई बेस नेम ('सिबलिंग' किसी डायरेक्ट्री को तय करता है). |
sibling
|
फ़ाइल; या None ;
डिफ़ॉल्ट वैल्यू None है यह एक ऐसी फ़ाइल होती है जो नई डिक्लेयर की गई सिंबॉलिक लिंक वाली डायरेक्ट्री में मौजूद होती है. |
do_nothing
None
actions.do_nothing(*, mnemonic, inputs=[])
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
mnemonic
|
string;
required कार्रवाई के बारे में एक शब्द में जानकारी. उदाहरण के लिए, CppCompile या GoLink. |
inputs
|
File का sequence या depset;
डिफ़ॉल्ट रूप से [] होता है कार्रवाई के इनपुट फ़ाइलों की सूची. |
expand_template
None
actions.expand_template(*, template, output, substitutions={}, is_executable=False, computed_substitutions=unbound)
substitutions
डिक्शनरी का इस्तेमाल करके बदला जाएगा. बदलाव उसी क्रम में किए जाएंगे जिस क्रम में उन्हें तय किया गया है. जब भी डिक्शनरी की कोई कुंजी, टेंप्लेट में दिखती है (या पिछले बदलाव का कोई नतीजा दिखता है), तो उसे उससे जुड़ी वैल्यू से बदल दिया जाता है. कुंजियों के लिए कोई खास सिंटैक्स नहीं है. उदाहरण के लिए, टकराव से बचने के लिए कर्ली ब्रेसिज़ का इस्तेमाल किया जा सकता है (जैसे, {KEY}
). इस्तेमाल का उदाहरण देखें.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
template
|
फ़ाइल;
ज़रूरी है यह टेंप्लेट फ़ाइल है. इसे UTF-8 कोड वाली टेक्स्ट फ़ाइल में बदला गया है. |
output
|
फ़ाइल;
ज़रूरी है यह आउटपुट फ़ाइल है. यह UTF-8 कोड में बदली गई टेक्स्ट फ़ाइल होती है. |
substitutions
|
dict;
डिफ़ॉल्ट रूप से {} होता है टेंप्लेट को बड़ा करते समय किए जाने वाले बदलाव. |
is_executable
|
bool;
डिफ़ॉल्ट रूप से False होता है यह तय करता है कि आउटपुट फ़ाइल को एक्ज़ीक्यूट किया जा सकता है या नहीं. |
computed_substitutions
|
TemplateDict;
डिफ़ॉल्ट रूप से unbound होता है टेंप्लेट को बड़ा करते समय किए जाने वाले बदलाव. |
map_directory
None
actions.map_directory(*, input_directories, additional_inputs={}, output_directories, tools, additional_params={}, execution_requirements=None, exec_group=None, toolchain=None, use_default_shell_env=False, env=None, mnemonic=None, implementation)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
input_directories
|
File ऑब्जेक्ट का dict;
ज़रूरी है यह एक डिक्शनरी है, जो स्ट्रिंग को इनपुट डायरेक्ट्री पर मैप करती है. इसे ctx.actions.declare_directory() ने तय किया है. यहां सिर्फ़ डायरेक्ट्री को वैल्यू के तौर पर इस्तेमाल किया जा सकता है. इन वैल्यू से उन डायरेक्ट्री के बारे में पता चलता है जिन्हें हम लागू करने वाले फ़ंक्शन में उनकी फ़ाइलों को ऐक्सेस करने के लिए बड़ा करना चाहते हैं. कुंजियां (स्ट्रिंग), आइडेंटिफ़ायर के तौर पर काम करती हैं. इनकी मदद से, लागू करने वाले फ़ंक्शन में किसी डायरेक्ट्री को आसानी से रेफ़रंस किया जा सकता है.
|
additional_inputs
|
dict;
डिफ़ॉल्ट रूप से {} होता है स्ट्रिंग को अतिरिक्त इनपुट के साथ मैप करने वाली डिक्शनरी. यहाँ सिर्फ़ फ़ाइलों, FilesToRunProvider(s), और Depset(s) को अनुमति है. इन वैल्यू से, हमें ऐसे अतिरिक्त इनपुट के बारे में पता चलता है जिन्हें हम लागू करने वाले फ़ंक्शन से बनाई गई कार्रवाइयों के लिए उपलब्ध कराना चाहते हैं. कुंजियां (स्ट्रिंग), आइडेंटिफ़ायर के तौर पर काम करती हैं. इनसे लागू करने वाले फ़ंक्शन में किसी खास इनपुट को आसानी से रेफ़रंस किया जा सकता है. |
output_directories
|
dict of Files;
required एक डिक्शनरी, जो ctx.actions.declare_directory() के ज़रिए तय की गई आउटपुट डायरेक्ट्री को स्ट्रिंग पर मैप करती है. इन वैल्यू से, उन आउटपुट डायरेक्ट्री के बारे में पता चलता है जिन्हें हमें लागू करने वाले फ़ंक्शन से बनाई गई कार्रवाइयों के ज़रिए जनरेट करना है. कुंजियां (स्ट्रिंग), आइडेंटिफ़ायर के तौर पर काम करती हैं. इनकी मदद से, लागू करने वाले फ़ंक्शन में किसी खास आउटपुट डायरेक्ट्री को आसानी से रेफ़रंस किया जा सकता है.
|
tools
|
dict;
required यह एक डिक्शनरी है, जिसमें स्ट्रिंग को टूल के साथ मैप किया जाता है. यहाँ सिर्फ़ फ़ाइलों, FilesToRunProvider(s), और Depset(s) की अनुमति है. इन वैल्यू से उन टूल के बारे में पता चलता है जिन्हें हम लागू करने वाले फ़ंक्शन से बनाई गई कार्रवाइयों के लिए उपलब्ध कराना चाहते हैं. कुंजियां (स्ट्रिंग), आइडेंटिफ़ायर के तौर पर काम करती हैं. इनकी मदद से, लागू करने वाले फ़ंक्शन में किसी टूल को आसानी से रेफ़रंस किया जा सकता है. |
additional_params
|
dict;
डिफ़ॉल्ट रूप से {} होता है यह डिक्शनरी, स्ट्रिंग को अतिरिक्त पैरामीटर से मैप करती है. यहां सिर्फ़ स्ट्रिंग, बूलियन, और पूर्णांक वैल्यू इस्तेमाल की जा सकती हैं. इन वैल्यू से, हमें उन अतिरिक्त पैरामीटर के बारे में पता चलता है जिन्हें हम लागू करने वाले फ़ंक्शन के लिए ऐक्सेस करना चाहते हैं. इनका इस्तेमाल, फ़ंक्शन के व्यवहार को बेहतर बनाने के लिए किया जा सकता है. कुंजी (स्ट्रिंग) आइडेंटिफ़ायर के तौर पर काम करती हैं. इससे, लागू करने वाले फ़ंक्शन में किसी खास पैरामीटर को आसानी से रेफ़रंस किया जा सकता है. |
execution_requirements
|
dict; या None ;
डिफ़ॉल्ट तौर पर None होता है बनाई गई कार्रवाइयों को शेड्यूल करने के लिए जानकारी. काम की कुंजियों के लिए, टैग देखें. |
exec_group
|
string या None ;
डिफ़ॉल्ट रूप से None होता है बनाई गई कार्रवाइयों को दिए गए एक्ज़ीक्यूशन ग्रुप के एक्ज़ीक्यूशन प्लैटफ़ॉर्म पर चलाएं. अगर कोई भी नहीं है, तो टारगेट के डिफ़ॉल्ट एक्ज़ीक्यूशन प्लैटफ़ॉर्म का इस्तेमाल करता है. |
toolchain
|
Label; या string; या None ;
डिफ़ॉल्ट रूप से None होता है बनाई गई कार्रवाइयों के लिए इस्तेमाल किए गए एक्ज़ीक्यूटेबल या टूल का टूलचेन टाइप. अगर एक्ज़ीक्यूटेबल और टूल, टूलचेन से नहीं आ रहे हैं, तो इस पैरामीटर को अगर एक्ज़ीक्यूटेबल और टूल, टूलचेन से आ रहे हैं, तो टूलचेन का टाइप सेट करना ज़रूरी है. इससे बनाई गई कार्रवाइयां, सही एक्ज़ीक्यूशन प्लैटफ़ॉर्म पर काम करेंगी. ध्यान दें कि इन कार्रवाइयों को बनाने वाले नियम को, अपने 'rule()' फ़ंक्शन में इस टूलचेन को तय करना होगा.
|
use_default_shell_env
|
bool;
डिफ़ॉल्ट तौर पर False होता है क्या बनाई गई कार्रवाइयों को डिफ़ॉल्ट शेल एनवायरमेंट का इस्तेमाल करना चाहिए. इसमें ओएस पर निर्भर कुछ वैरिएबल के साथ-साथ --action_env के ज़रिए सेट किए गए वैरिएबल भी शामिल होते हैं.अगर |
env
|
dict; या None ;
डिफ़ॉल्ट तौर पर None होता है यह एनवायरमेंट वैरिएबल की डिक्शनरी सेट करता है. अगर |
mnemonic
|
string; या None ;
डिफ़ॉल्ट रूप से None होता है बनाई गई कार्रवाइयों के बारे में एक शब्द में जानकारी. उदाहरण के लिए, CppCompile या GoLink. |
implementation
|
function;
ज़रूरी है यह एक Starlark फ़ंक्शन है, जिसे इनपुट डायरेक्ट्री बनाने के बाद कॉल किया जाता है. इसका इस्तेमाल, ऐसे ऐक्शन जनरेट करने के लिए किया जाता है जो आउटपुट फ़ाइलों को तय की गई आउटपुट डायरेक्ट्री में भेजते हैं. इस फ़ंक्शन को ये आर्ग्युमेंट पास किए जाते हैं:
|
रन
None
actions.run(*, outputs, inputs=[], unused_inputs_list=None, executable, tools=unbound, arguments=[], mnemonic=None, progress_message=None, use_default_shell_env=False, env=None, execution_requirements=None, input_manifests=None, exec_group=None, shadowed_action=None, resource_set=None, toolchain=unbound)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
outputs
|
sequence of Files;
ज़रूरी है कार्रवाई की आउटपुट फ़ाइलों की सूची. |
inputs
|
sequence of Files; या depset;
डिफ़ॉल्ट रूप से [] होता है कार्रवाई के इनपुट फ़ाइलों की सूची या depset. |
unused_inputs_list
|
File या None ;
डिफ़ॉल्ट तौर पर None होता है ऐसी फ़ाइल जिसमें कार्रवाई के लिए इस्तेमाल नहीं किए गए इनपुट की सूची होती है. इस फ़ाइल का कॉन्टेंट, आम तौर पर कार्रवाई के आउटपुट में से एक होता है. यह उन इनपुट फ़ाइलों की सूची से मेल खाता है जिनका इस्तेमाल, कार्रवाई पूरी होने तक नहीं किया गया था. उन फ़ाइलों में किए गए किसी भी बदलाव से, कार्रवाई के आउटपुट पर कोई असर नहीं पड़ना चाहिए. |
executable
|
File या string या FilesToRunProvider;
ज़रूरी है यह वह एक्ज़ीक्यूटेबल फ़ाइल है जिसे कार्रवाई के ज़रिए कॉल किया जाना है. |
tools
|
sequence; या depset;
डिफ़ॉल्ट तौर पर unbound होता है कार्रवाई के लिए ज़रूरी टूल की सूची या depset . टूल, ऐसे इनपुट होते हैं जिन्हें एक्ज़ीक्यूट किया जा सकता है. इनमें अपनी रनफ़ाइलें हो सकती हैं. ये रनफ़ाइलें, कार्रवाई के लिए अपने-आप उपलब्ध हो जाती हैं. सूची में अलग-अलग तरह के ये आइटम शामिल हो सकते हैं:
ctx.executable और सूची में सीधे तौर पर मौजूद FilesToRunProvider के File में, रनफ़ाइल अपने-आप जुड़ जाएंगी. सभी टूल को इनपुट के तौर पर अपने-आप जोड़ दिया जाता है.
|
arguments
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है ऐक्शन के कमांड लाइन आर्ग्युमेंट. यह स्ट्रिंग या actions.args() ऑब्जेक्ट की सूची होनी चाहिए.
|
mnemonic
|
string या None ;
डिफ़ॉल्ट रूप से None होता है कार्रवाई के बारे में एक शब्द में जानकारी. उदाहरण के लिए, CppCompile या GoLink. |
progress_message
|
string या None ;
डिफ़ॉल्ट तौर पर None होता है बिल्ड के दौरान उपयोगकर्ता को दिखाने के लिए प्रोग्रेस मैसेज. उदाहरण के लिए, "foo.cc को foo.o बनाने के लिए कंपाइल किया जा रहा है". मैसेज में %{label} , %{input} या %{output} पैटर्न शामिल हो सकते हैं. इन्हें लेबल स्ट्रिंग, पहले इनपुट या आउटपुट के पाथ से बदल दिया जाता है. स्टैटिक स्ट्रिंग के बजाय पैटर्न का इस्तेमाल करें, क्योंकि ये ज़्यादा असरदार होते हैं.
|
use_default_shell_env
|
bool;
डिफ़ॉल्ट रूप से False होता है कार्रवाई को डिफ़ॉल्ट शेल एनवायरमेंट का इस्तेमाल करना चाहिए या नहीं. इसमें ओएस पर निर्भर कुछ वैरिएबल के साथ-साथ, --action_env के ज़रिए सेट किए गए वैरिएबल भी शामिल होते हैं.अगर |
env
|
dict; या None ;
डिफ़ॉल्ट तौर पर None होता है यह एनवायरमेंट वैरिएबल की डिक्शनरी सेट करता है. अगर |
execution_requirements
|
dict; या None ;
डिफ़ॉल्ट रूप से None होता है कार्रवाई को शेड्यूल करने के लिए जानकारी. काम की कुंजियों के लिए, टैग देखें. |
input_manifests
|
sequence या None ;
डिफ़ॉल्ट तौर पर None होता है लेगसी आर्ग्युमेंट. ध्यान नहीं दिया गया. |
exec_group
|
string या None ;
डिफ़ॉल्ट रूप से None होता है यह दिए गए एक्ज़ीक्यूशन ग्रुप के एक्ज़ीक्यूशन प्लैटफ़ॉर्म पर कार्रवाई करता है. अगर कोई भी नहीं है, तो टारगेट के डिफ़ॉल्ट एक्ज़ीक्यूशन प्लैटफ़ॉर्म का इस्तेमाल करता है. |
shadowed_action
|
Action;
डिफ़ॉल्ट तौर पर None होता है यह कार्रवाई, शैडो ऐक्शन के दिए गए इनपुट और एनवायरमेंट का इस्तेमाल करके की जाती है. इनपुट और एनवायरमेंट को ऐक्शन के इनपुट की सूची और एनवायरमेंट में जोड़ा जाता है. ऐक्शन एनवायरमेंट, शैडो ऐक्शन के किसी भी एनवायरमेंट वैरिएबल को ओवरराइट कर सकता है. अगर कोई भी इनपुट नहीं दिया गया है, तो सिर्फ़ कार्रवाई के इनपुट और दिए गए एनवायरमेंट का इस्तेमाल करता है. |
resource_set
|
कॉलेबल; या None ;
डिफ़ॉल्ट तौर पर None होता है यह एक कॉलबैक फ़ंक्शन है, जो संसाधन सेट डिक्शनरी दिखाता है. इसका इस्तेमाल, एक्ज़ीक्यूशन के समय संसाधन के इस्तेमाल का अनुमान लगाने के लिए किया जाता है. ऐसा तब होता है, जब यह कार्रवाई स्थानीय तौर पर की जाती है. यह फ़ंक्शन, दो पोज़ीशनल आर्ग्युमेंट स्वीकार करता है: ओएस के नाम को दिखाने वाली स्ट्रिंग (जैसे, "osx") और कार्रवाई के लिए इनपुट की संख्या को दिखाने वाला पूर्णांक. डिक्शनरी में ये एंट्री हो सकती हैं. इनमें से हर एंट्री, फ़्लोट या पूर्णांक हो सकती है:
अगर इस पैरामीटर को कॉलबैक, टॉप-लेवल का होना चाहिए. Lambda और नेस्ट किए गए फ़ंक्शन की अनुमति नहीं है. |
toolchain
|
Label; या string; या None ;
डिफ़ॉल्ट रूप से unbound होता है इस कार्रवाई में इस्तेमाल किए गए एक्ज़ीक्यूटेबल या टूल का टूलचेन टाइप. अगर एक्ज़ीक्यूटेबल और टूल, टूलचेन से नहीं आ रहे हैं, तो इस पैरामीटर को `None` पर सेट करें. अगर एक्ज़ीक्यूटेबल और टूल, टूलचेन से आ रहे हैं, तो टूलचेन का टाइप सेट होना चाहिए, ताकि कार्रवाई सही एक्ज़ीक्यूशन प्लैटफ़ॉर्म पर हो. ध्यान दें कि इस कार्रवाई को बनाने वाले नियम को, अपने 'rule()' फ़ंक्शन में इस टूलचेन को तय करना होगा. `toolchain` और `exec_group` पैरामीटर, दोनों सेट होने पर `exec_group` का इस्तेमाल किया जाएगा. अगर `exec_group` में एक ही टूलचेन के बारे में नहीं बताया गया है, तो गड़बड़ी का मैसेज दिखता है. |
run_shell
None
actions.run_shell(*, outputs, inputs=[], tools=unbound, arguments=[], mnemonic=None, command, progress_message=None, use_default_shell_env=False, env=None, execution_requirements=None, input_manifests=None, exec_group=None, shadowed_action=None, resource_set=None, toolchain=unbound)
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
outputs
|
sequence of Files;
ज़रूरी है कार्रवाई की आउटपुट फ़ाइलों की सूची. |
inputs
|
sequence of Files; या depset;
डिफ़ॉल्ट रूप से [] होता है कार्रवाई के इनपुट फ़ाइलों की सूची या depset. |
tools
|
sequence of Files; या depset;
डिफ़ॉल्ट रूप से unbound होता है कार्रवाई के लिए ज़रूरी टूल की सूची या depset . टूल, ऐसे इनपुट होते हैं जिन्हें एक्ज़ीक्यूट किया जा सकता है. इनमें अपनी रनफ़ाइलें हो सकती हैं. ये रनफ़ाइलें, कार्रवाई के लिए अपने-आप उपलब्ध हो जाती हैं. सूची में अलग-अलग तरह के ये आइटम शामिल हो सकते हैं:
ctx.executable और सूची में सीधे तौर पर मौजूद FilesToRunProvider के File में, रनफ़ाइल अपने-आप जुड़ जाएंगी. सभी टूल को इनपुट के तौर पर अपने-आप जोड़ दिया जाता है.
|
arguments
|
sequence;
डिफ़ॉल्ट तौर पर [] होता है ऐक्शन के कमांड लाइन आर्ग्युमेंट. यह स्ट्रिंग या actions.args() ऑब्जेक्ट की सूची होनी चाहिए.Bazel, इस एट्रिब्यूट में मौजूद एलिमेंट को कमांड के लिए आर्ग्युमेंट के तौर पर पास करता है. कमांड, शेल वैरिएबल सब्स्टिट्यूशन जैसे कि अगर |
mnemonic
|
string या None ;
डिफ़ॉल्ट रूप से None होता है कार्रवाई के बारे में एक शब्द में जानकारी. उदाहरण के लिए, CppCompile या GoLink. |
command
|
string; या sequence of strings;
ज़रूरी है यह शेल कमांड को एक्ज़ीक्यूट करने के लिए होता है. यह स्ट्रिंग (सुझाया गया) या स्ट्रिंग का क्रम (अब इस्तेमाल नहीं किया जा सकता) हो सकता है. अगर (अब इस्तेमाल नहीं किया जा सकता) अगर Bazel, कमांड को उसी शेल में एक्ज़ीक्यूट करता है जिसका इस्तेमाल वह genrules के लिए करता है. |
progress_message
|
string या None ;
डिफ़ॉल्ट तौर पर None होता है बिल्ड के दौरान उपयोगकर्ता को दिखाने के लिए प्रोग्रेस मैसेज. उदाहरण के लिए, "foo.cc को foo.o बनाने के लिए कंपाइल किया जा रहा है". मैसेज में %{label} , %{input} या %{output} पैटर्न शामिल हो सकते हैं. इन्हें लेबल स्ट्रिंग, पहले इनपुट या आउटपुट के पाथ से बदल दिया जाता है. स्टैटिक स्ट्रिंग के बजाय पैटर्न का इस्तेमाल करें, क्योंकि ये ज़्यादा असरदार होते हैं.
|
use_default_shell_env
|
bool;
डिफ़ॉल्ट रूप से False होता है कार्रवाई को डिफ़ॉल्ट शेल एनवायरमेंट का इस्तेमाल करना चाहिए या नहीं. इसमें ओएस पर निर्भर कुछ वैरिएबल के साथ-साथ, --action_env के ज़रिए सेट किए गए वैरिएबल भी शामिल होते हैं.अगर |
env
|
dict; या None ;
डिफ़ॉल्ट तौर पर None होता है यह एनवायरमेंट वैरिएबल की डिक्शनरी सेट करता है. अगर |
execution_requirements
|
dict; या None ;
डिफ़ॉल्ट रूप से None होता है कार्रवाई को शेड्यूल करने के लिए जानकारी. काम की कुंजियों के लिए, टैग देखें. |
input_manifests
|
sequence या None ;
डिफ़ॉल्ट तौर पर None होता है लेगसी आर्ग्युमेंट. ध्यान नहीं दिया गया. |
exec_group
|
string या None ;
डिफ़ॉल्ट रूप से None होता है यह दिए गए एक्ज़ीक्यूशन ग्रुप के एक्ज़ीक्यूशन प्लैटफ़ॉर्म पर कार्रवाई करता है. अगर कोई भी नहीं है, तो टारगेट के डिफ़ॉल्ट एक्ज़ीक्यूशन प्लैटफ़ॉर्म का इस्तेमाल करता है. |
shadowed_action
|
कार्रवाई;
डिफ़ॉल्ट रूप से None होता है यह कार्रवाई, शैडो ऐक्शन के खोजे गए इनपुट का इस्तेमाल करके की जाती है. इन इनपुट को ऐक्शन के इनपुट की सूची में जोड़ा जाता है. अगर कोई भी इनपुट नहीं है, तो सिर्फ़ कार्रवाई के इनपुट का इस्तेमाल करता है. |
resource_set
|
कॉलेबल; या None ;
डिफ़ॉल्ट तौर पर None होता है अगर इसे स्थानीय तौर पर चलाया जाता है, तो संसाधन के इस्तेमाल का अनुमान लगाने के लिए कॉलबैक फ़ंक्शन. ctx.actions.run() देखें.
|
toolchain
|
Label; या string; या None ;
डिफ़ॉल्ट रूप से unbound होता है इस कार्रवाई में इस्तेमाल किए गए एक्ज़ीक्यूटेबल या टूल का टूलचेन टाइप. अगर एक्ज़ीक्यूटेबल और टूल, टूलचेन से नहीं आ रहे हैं, तो इस पैरामीटर को `None` पर सेट करें. अगर एक्ज़ीक्यूटेबल और टूल, टूलचेन से आ रहे हैं, तो टूलचेन का टाइप सेट होना चाहिए, ताकि कार्रवाई सही एक्ज़ीक्यूशन प्लैटफ़ॉर्म पर हो. ध्यान दें कि इस कार्रवाई को बनाने वाले नियम को, अपने 'rule()' फ़ंक्शन में इस टूलचेन को तय करना होगा. `toolchain` और `exec_group` पैरामीटर, दोनों सेट होने पर `exec_group` का इस्तेमाल किया जाएगा. अगर `exec_group` में एक ही टूलचेन के बारे में नहीं बताया गया है, तो गड़बड़ी का मैसेज दिखता है. |
सिमलिंक
None
actions.symlink(*, output, target_file=None, target_path=None, is_executable=False, progress_message=None)
इस फ़ंक्शन को कॉल करते समय, target_file
या target_path
में से किसी एक को तय करना ज़रूरी है.
target_file
का इस्तेमाल करते समय, declare_file()
या declare_directory()
के साथ output
एट्रिब्यूट की वैल्यू दें. साथ ही, target_file
एट्रिब्यूट की वैल्यू से output
एट्रिब्यूट की वैल्यू का टाइप मेल खाना चाहिए. इससे सिमलिंक, target_file
पर पॉइंट करता है. सिमलिंक के टारगेट या उसके कॉन्टेंट में बदलाव होने पर, Bazel इस कार्रवाई के आउटपुट को अमान्य कर देता है.
इसके अलावा, target_path
का इस्तेमाल करते समय, declare_symlink()
के साथ output
का एलान करें. इस मामले में, सिमलंक target_path
की ओर इशारा करता है. Bazel कभी भी सिमलंक को हल नहीं करता है. इस कार्रवाई का आउटपुट सिर्फ़ तब अमान्य होता है, जब सिमलंक के टेक्स्ट कॉन्टेंट (यानी कि readlink()
की वैल्यू) में बदलाव होता है. खास तौर पर, इसका इस्तेमाल डैंगलिंग सिमलंक बनाने के लिए किया जा सकता है.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
output
|
फ़ाइल;
ज़रूरी है यह इस कार्रवाई का आउटपुट है. |
target_file
|
File; या None ;
डिफ़ॉल्ट तौर पर None होता है वह फ़ाइल जिस पर आउटपुट सिंबल लिंक पॉइंट करेगा. |
target_path
|
string; या None ;
डिफ़ॉल्ट तौर पर None होता है वह सटीक पाथ जिस पर आउटपुट सिंबल लिंक पॉइंट करेगा. इसमें कोई बदलाव या अन्य प्रोसेसिंग नहीं की जाती है. |
is_executable
|
bool;
डिफ़ॉल्ट रूप से False होता है इसका इस्तेमाल सिर्फ़ target_file के साथ किया जा सकता है, target_path के साथ नहीं. अगर यह वैल्यू 'सही है' पर सेट है, तो कार्रवाई पूरी होने पर target_file के पाथ की जांच की जाती है. इससे यह पुष्टि की जाती है कि इसे एक्ज़ीक्यूट किया जा सकता है. अगर ऐसा नहीं होता है, तो गड़बड़ी की सूचना दी जाती है. is_executable को 'गलत है' पर सेट करने का मतलब यह नहीं है कि टारगेट को लागू नहीं किया जा सकता. इसका मतलब सिर्फ़ यह है कि पुष्टि नहीं की जाती.
|
progress_message
|
string; या None ;
डिफ़ॉल्ट तौर पर None है बिल्ड के दौरान उपयोगकर्ता को दिखाने के लिए प्रोग्रेस मैसेज. |
template_dict
TemplateDict actions.template_dict()
मेरी मदद करो
None
actions.write(output, content, is_executable=False, *, mnemonic=None)
expand_template
का इस्तेमाल करें.
पैरामीटर
पैरामीटर | ब्यौरा |
---|---|
output
|
File;
required यह आउटपुट फ़ाइल है. |
content
|
string; or Args;
ज़रूरी है फ़ाइल का कॉन्टेंट. यह एक स्ट्रिंग या actions.args() ऑब्जेक्ट हो सकता है.
|
is_executable
|
bool;
डिफ़ॉल्ट रूप से False होता है यह तय करता है कि आउटपुट फ़ाइल को एक्ज़ीक्यूट किया जा सकता है या नहीं. |
mnemonic
|
string या None ;
डिफ़ॉल्ट रूप से None होता है कार्रवाई के बारे में एक शब्द में जानकारी. उदाहरण के लिए, CppCompile या GoLink. |