कार्रवाइयां

कार्रवाइयां बनाने के लिए फ़ंक्शन देने वाला मॉड्यूल. ctx.actions का इस्तेमाल करके, इस मॉड्यूल को ऐक्सेस करें.

सदस्य

args

Args actions.args()

यह एक Args ऑब्जेक्ट दिखाता है. इसका इस्तेमाल, कम मेमोरी वाली कमांड लाइन बनाने के लिए किया जा सकता है.

declare_directory

File actions.declare_directory(filename, *, sibling=None)

इससे पता चलता है कि नियम या एस्पेक्ट, मौजूदा पैकेज में दिए गए नाम की डायरेक्ट्री बनाता है. आपको एक ऐसी कार्रवाई बनानी होगी जो डायरेक्ट्री जनरेट करती हो. डायरेक्ट्री के कॉन्टेंट को Starlark से सीधे तौर पर ऐक्सेस नहीं किया जा सकता. हालांकि, Args.add_all() की मदद से, ऐक्शन कमांड में कॉन्टेंट को बड़ा किया जा सकता है.

पैरामीटर

पैरामीटर ब्यौरा
filename ज़रूरी है
अगर कोई 'सिबलिंग' नहीं दिया गया है, तो मौजूदा पैकेज के हिसाब से नई डायरेक्ट्री का पाथ. अगर ऐसा नहीं है, तो फ़ाइल का बेस नेम ('सिबलिंग' किसी डायरेक्ट्री की जानकारी देता है).
sibling File; or None; default = None
यह एक ऐसी फ़ाइल होती है जो नई डायरेक्ट्री में मौजूद होती है. फ़ाइल, मौजूदा पैकेज में होनी चाहिए.

declare_file

File actions.declare_file(filename, *, sibling=None)

यह बताता है कि नियम या आसपेक्ट, दिए गए फ़ाइल नाम के साथ एक फ़ाइल बनाता है. अगर sibling नहीं दिया गया है, तो फ़ाइल का नाम पैकेज डायरेक्ट्री के हिसाब से होता है. अगर sibling दिया गया है, तो फ़ाइल sibling की डायरेक्ट्री में होती है. मौजूदा पैकेज के बाहर फ़ाइलें नहीं बनाई जा सकतीं.

याद रखें कि फ़ाइल का एलान करने के अलावा, आपको फ़ाइल को उत्सर्जित करने वाली एक अलग कार्रवाई भी बनानी होगी. उस कार्रवाई को बनाने के लिए, कार्रवाई के कंस्ट्रक्शन फ़ंक्शन में दिखाया गया File ऑब्जेक्ट पास करना होगा.

ध्यान दें कि पहले से तय की गई आउटपुट फ़ाइलों के लिए, इस फ़ंक्शन का इस्तेमाल करने की ज़रूरत नहीं है. इसके अलावा, ऐसा करना भी मुमकिन नहीं है. इसके बजाय, ctx.outputs से उनके File ऑब्जेक्ट पाए जा सकते हैं. इस्तेमाल का उदाहरण देखें.

पैरामीटर

पैरामीटर ब्यौरा
filename ज़रूरी है
अगर कोई 'सिबलिंग' नहीं दिया गया है, तो मौजूदा पैकेज के हिसाब से नई फ़ाइल का पाथ. अगर ऐसा नहीं है, तो फ़ाइल का बेस नेम ('सिबलिंग' से डायरेक्ट्री तय होती है).
sibling File; or None; डिफ़ॉल्ट = None
यह फ़ाइल, नई फ़ाइल के साथ मौजूद डायरेक्ट्री में मौजूद होती है. फ़ाइल, मौजूदा पैकेज में होनी चाहिए.

File actions.declare_symlink(filename, *, sibling=None)

एक्सपेरिमेंटल. यह पैरामीटर एक्सपेरिमेंट के तौर पर उपलब्ध है. इसमें कभी भी बदलाव किया जा सकता है. कृपया इस पर भरोसा न करें. इसे एक्सपेरिमेंट के तौर पर चालू किया जा सकता है. इसके लिए, --experimental_allow_unresolved_symlinks को सेट करें

इससे पता चलता है कि नियम या आसपेक्ट, मौजूदा पैकेज में दिए गए नाम के साथ एक सिमलिंक बनाता है. आपको एक ऐसी कार्रवाई बनानी होगी जो यह सिंबल लिंक जनरेट करे. Bazel इस सिंबललिंक का रेफ़रंस कभी नहीं हटाएगा. साथ ही, इसे सैंडबॉक्स या रिमोट एक्ज़ीक्यूटर में हूबहू ट्रांसफ़र कर देगा.

पैरामीटर

पैरामीटर ब्यौरा
filename ज़रूरी है
अगर कोई 'सिबलिंग' नहीं दिया गया है, तो मौजूदा पैकेज के हिसाब से नए सिमलंक का पाथ. अगर ऐसा नहीं है, तो फ़ाइल का बेस नेम ('सिबलिंग' किसी डायरेक्ट्री की जानकारी देता है).
sibling File; or None; डिफ़ॉल्ट = None
यह एक ऐसी फ़ाइल है जो नए सिग्नललिंक की उसी डायरेक्ट्री में मौजूद होती है.

do_nothing

None actions.do_nothing(mnemonic, inputs=[])

यह एक खाली ऐक्शन बनाता है, जो न तो कोई कमांड लागू करता है और न ही कोई आउटपुट देता है. हालांकि, यह 'अतिरिक्त ऐक्शन' डालने के लिए काम का है.

पैरामीटर

पैरामीटर ब्यौरा
mnemonic ज़रूरी है
कार्रवाई के बारे में एक शब्द में जानकारी, जैसे कि CppCompile या GoLink.
inputs sequence of Files; or depset; default = []
ऐक्शन की इनपुट फ़ाइलों की सूची.

expand_template

None actions.expand_template(template, output, substitutions={}, is_executable=False, computed_substitutions=unbound)

टेंप्लेट एक्सपैंशन ऐक्शन बनाता है. कार्रवाई पूरी होने पर, यह टेंप्लेट के आधार पर एक फ़ाइल जनरेट करेगी. टेम्प्लेट के हिस्सों को substitutions डिक्शनरी का इस्तेमाल करके बदल दिया जाएगा. बदलावों को उसी क्रम में बदला जाएगा जिस क्रम में उन्हें बदलने के लिए कहा गया है. जब भी टेंप्लेट में डिक्शनरी की कोई कुंजी दिखती है या किसी पहले बदलाव का नतीजा दिखता है, तो उसे उससे जुड़ी वैल्यू से बदल दिया जाता है. कुंजियों के लिए कोई खास सिंटैक्स नहीं है. उदाहरण के लिए, {KEY} जैसे नामों के टकराव से बचने के लिए, कर्ली ब्रैकेट का इस्तेमाल किया जा सकता है. इस्तेमाल का उदाहरण देखें.

पैरामीटर

पैरामीटर ब्यौरा
template ज़रूरी है
टेंप्लेट फ़ाइल, जो UTF-8 कोड में बदली गई टेक्स्ट फ़ाइल होती है.
output ज़रूरी है
आउटपुट फ़ाइल, जो UTF-8 कोड में बदली गई टेक्स्ट फ़ाइल होती है.
substitutions default = {}
टेंप्लेट को बड़ा करते समय किए जाने वाले बदलाव.
is_executable डिफ़ॉल्ट = False
क्या आउटपुट फ़ाइल को चलाया जा सकता है.
computed_substitutions TemplateDict; default = unbound
एक्सपेरिमेंट के तौर पर. यह पैरामीटर एक्सपेरिमेंट के तौर पर उपलब्ध है. इसमें कभी भी बदलाव किया जा सकता है. कृपया इस पर भरोसा न करें. इसे एक्सपेरिमेंट के तौर पर चालू किया जा सकता है. इसके लिए, --+experimental_lazy_template_expansion
एक्सपेरिमेंट: टेंप्लेट को बड़ा करते समय बदलाव करने के लिए, 'विकल्प' सेट करें.

रन

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=None)

ऐसी कार्रवाई बनाता है जो किसी एक्सीक्यूटेबल को चलाता है. इस्तेमाल का उदाहरण देखें.

पैरामीटर

पैरामीटर ब्यौरा
outputs sequence of Files; ज़रूरी है
कार्रवाई की आउटपुट फ़ाइलों की सूची.
inputs sequence of Files; or depset; default = []
कार्रवाई की इनपुट फ़ाइलों की सूची या depset.
unused_inputs_list File; or None; default = None
इस फ़ाइल में, उन इनपुट की सूची होती है जिनका इस्तेमाल कार्रवाई में नहीं किया जाता.

इस फ़ाइल का कॉन्टेंट (आम तौर पर कार्रवाई का एक आउटपुट), उन इनपुट फ़ाइलों की सूची से जुड़ा होता है जिनका इस्तेमाल कार्रवाई पूरी होने के दौरान नहीं किया गया था. इन फ़ाइलों में किए गए किसी भी बदलाव से, कार्रवाई के आउटपुट पर किसी भी तरह का असर नहीं पड़ना चाहिए.

executable File; or string; or FilesToRunProvider; ज़रूरी है
वह फ़ाइल जिसे ऐक्शन से कॉल किया जाना है.
tools sequence; or depset; default = unbound
कार्रवाई के लिए ज़रूरी टूल की सूची या depset. टूल, अतिरिक्त रनफ़ाइलों के साथ इनपुट होते हैं. ये ऐक्शन के लिए अपने-आप उपलब्ध हो जाते हैं. सूची उपलब्ध कराने पर, यह Files, FilesToRunProvider इंस्टेंस या Files के डेपसेट का अलग-अलग तरह का कलेक्शन हो सकता है. सीधे सूची में मौजूद और ctx.executable से आने वाली फ़ाइलों की रनफ़ाइलें अपने-आप जुड़ जाएंगी. अगर कोई डिप्सेट दिया जाता है, तो उसमें सिर्फ़ फ़ाइलें होनी चाहिए. दोनों मामलों में, depset में मौजूद फ़ाइलों को runfile के लिए, ctx.executable के साथ क्रॉस-रेफ़रंस नहीं किया जाता.
arguments sequence; डिफ़ॉल्ट = []
ऐक्शन के कमांड लाइन आर्ग्युमेंट. यह स्ट्रिंग या actions.args() ऑब्जेक्ट की सूची होनी चाहिए.
mnemonic string; or None; default = None
कार्रवाई के बारे में एक शब्द में जानकारी, जैसे कि CppCompile या GoLink.
progress_message string; or None; default = None
बिल्ड के दौरान उपयोगकर्ता को दिखाने के लिए प्रोग्रेस मैसेज. उदाहरण के लिए, "foo.o बनाने के लिए foo.cc को कंपाइल किया जा रहा है". मैसेज में %{label}, %{input} या %{output} पैटर्न हो सकते हैं. इन्हें लेबल स्ट्रिंग, पहले इनपुट या आउटपुट के पाथ से बदला जाता है. स्टैटिक स्ट्रिंग के बजाय पैटर्न का इस्तेमाल करें, क्योंकि ये ज़्यादा असरदार होते हैं.
use_default_shell_env default = False
यह तय करता है कि कार्रवाई में, पहले से मौजूद शेल एनवायरमेंट का इस्तेमाल किया जाना चाहिए या नहीं.
env dict; or None; डिफ़ॉल्ट = None
एनवायरमेंट वैरिएबल की डिक्शनरी सेट करता है.
execution_requirements dict; or None; default = None
कार्रवाई को शेड्यूल करने के लिए जानकारी. काम की कुंजियों के लिए, टैग देखें.
input_manifests sequence; or None; default = None
(प्रयोग के तौर पर उपलब्ध) इनपुट रनफ़ाइल का मेटाडेटा सेट करता है. आम तौर पर, ये resolve_command से जनरेट होते हैं.
exec_group string; or None; default = None
यह कार्रवाई, दिए गए एक्सेक ग्रुप के एक्सेक्यूशन प्लैटफ़ॉर्म पर की जाती है. अगर कोई नहीं है, तो टारगेट के डिफ़ॉल्ट रनटाइम प्लैटफ़ॉर्म का इस्तेमाल किया जाता है.
shadowed_action Action; डिफ़ॉल्ट = None
कार्रवाई की इनपुट सूची और एनवायरमेंट में जोड़े गए, शैडो की गई कार्रवाई के इनपुट और एनवायरमेंट का इस्तेमाल करके कार्रवाई को चलाता है. ऐक्शन एनवायरमेंट, शैडो की गई किसी भी ऐक्शन के एनवायरमेंट वैरिएबल को ओवरराइट कर सकता है. अगर कोई नहीं, तो सिर्फ़ ऐक्शन के इनपुट और दिए गए एनवायरमेंट का इस्तेमाल किया जाता है.
resource_set callable; or None; डिफ़ॉल्ट = None
यह एक कॉलबैक फ़ंक्शन है, जो रिसॉर्स सेट की डिक्शनरी दिखाता है. इसका इस्तेमाल, कार्रवाई को स्थानीय तौर पर चलाने पर, रिसॉर्स के इस्तेमाल का अनुमान लगाने के लिए किया जाता है.

यह फ़ंक्शन दो पोज़िशनल आर्ग्युमेंट स्वीकार करता है: ओएस का नाम बताने वाली स्ट्रिंग (जैसे, "osx") और कार्रवाई के इनपुट की संख्या बताने वाला पूर्णांक. दी गई डिक्शनरी में ये एंट्री हो सकती हैं. इनमें से हर एंट्री, फ़्लोट या इंट हो सकती है:

  • "cpu": सीपीयू की संख्या; डिफ़ॉल्ट तौर पर 1
  • "memory": एमबी में; डिफ़ॉल्ट 250
  • "local_test": स्थानीय टेस्ट की संख्या; डिफ़ॉल्ट तौर पर 1

अगर यह पैरामीटर None पर सेट है या --experimental_action_resource_set गलत है, तो डिफ़ॉल्ट वैल्यू का इस्तेमाल किया जाता है.

कॉलबैक टॉप-लेवल का होना चाहिए. इसमें लैम्ब्डा और नेस्ट किए गए फ़ंक्शन इस्तेमाल नहीं किए जा सकते.

toolchain Label; or string; or None; डिफ़ॉल्ट = None

इस कार्रवाई में इस्तेमाल किए गए टूल या एक्सीक्यूटेबल का टूलचेन टाइप. पैरामीटर सेट होना चाहिए, ताकि ऐक्शन सही प्लैटफ़ॉर्म पर लागू हो.

फ़िलहाल, यह कोई काम नहीं करता. हालांकि, हमारा सुझाव है कि टूलचेन का इस्तेमाल करते समय इसे सेट करें, क्योंकि आने वाले समय में Bazel के रिलीज़ में इसकी ज़रूरत होगी.

ध्यान दें कि इस कार्रवाई को बनाने वाले नियम को अपने '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=None)

एक ऐसी कार्रवाई बनाता है जो शेल कमांड चलाता है. इस्तेमाल का उदाहरण देखें.

पैरामीटर

पैरामीटर ब्यौरा
outputs sequence of Files; ज़रूरी है
कार्रवाई की आउटपुट फ़ाइलों की सूची.
inputs sequence of Files; or depset; default = []
कार्रवाई की इनपुट फ़ाइलों की सूची या depset.
tools sequence of Files; or depset; default = unbound
कार्रवाई के लिए ज़रूरी टूल की सूची या depset. टूल, अतिरिक्त रनफ़ाइलों के साथ इनपुट होते हैं. ये ऐक्शन के लिए अपने-आप उपलब्ध हो जाते हैं. इस सूची में Files या FilesToRunProvider के इंस्टेंस शामिल हो सकते हैं.
arguments sequence; डिफ़ॉल्ट = []
ऐक्शन के कमांड लाइन आर्ग्युमेंट. यह स्ट्रिंग या actions.args() ऑब्जेक्ट की सूची होनी चाहिए.

Bazel, इस एट्रिब्यूट में मौजूद एलिमेंट को आर्ग्युमेंट के तौर पर कमांड को पास करता है. कमांड, $1, $2 वगैरह जैसे शेल वैरिएबल सबस्टिट्यूशन का इस्तेमाल करके इन आर्ग्युमेंट को ऐक्सेस कर सकता है. ध्यान दें कि इंडेक्स करने से पहले, Args ऑब्जेक्ट को फ़्लैट कर दिया जाता है. अगर Args ऑब्जेक्ट का साइज़ पता नहीं है, तो उसके बाद की सभी स्ट्रिंग, अनुमानित इंडेक्स पर होंगी. $@ (सभी आर्ग्युमेंट वापस पाने के लिए) का इस्तेमाल, अनिश्चित साइज़ के Args ऑब्जेक्ट के साथ किया जा सकता है.

अगर command, स्ट्रिंग की सूची है, तो हो सकता है कि इस पैरामीटर का इस्तेमाल न किया जा सके.

mnemonic string; or None; default = None
कार्रवाई के बारे में एक शब्द में जानकारी, जैसे कि CppCompile या GoLink.
command string; or sequence of strings; ज़रूरी है
शेल कमांड को लागू करने के लिए. यह एक स्ट्रिंग (प्राथमिकता दी जाती है) या स्ट्रिंग का क्रम (इस्तेमाल से रोका गया) हो सकता है.

अगर command कोई स्ट्रिंग है, तो इसे sh -c <command> "" <arguments> की तरह ही चलाया जाता है. इसका मतलब है कि arguments में मौजूद एलिमेंट, कमांड के लिए $1, $2 (या Windows बैच का इस्तेमाल करने पर %1, %2) वगैरह के तौर पर उपलब्ध कराए जाते हैं. अगर arguments में कोई actions.args() ऑब्जेक्ट है, तो उनका कॉन्टेंट कमांड लाइन में एक-एक करके जोड़ा जाता है, ताकि $i, Args ऑब्जेक्ट में मौजूद अलग-अलग स्ट्रिंग का रेफ़रंस दे सके. ध्यान दें कि अगर arguments के हिस्से के तौर पर, किसी ऐसे Args ऑब्जेक्ट को पास किया जाता है जिसका साइज़ पता नहीं है, तो स्ट्रिंग अज्ञात इंडेक्स पर होंगी. ऐसे में, $@ शेल सबस्टिट्यूशन (सभी आर्ग्युमेंट वापस पाएं) काम का हो सकता है.

(अब काम नहीं करता) अगर command, स्ट्रिंग का क्रम है, तो पहला आइटम वह एक्सीक्यूटेबल है जिसे चलाना है और बाकी आइटम उसके आर्ग्युमेंट हैं. अगर इस फ़ॉर्म का इस्तेमाल किया जाता है, तो arguments पैरामीटर नहीं दिया जाना चाहिए. ध्यान दें कि इस फ़ॉर्म का इस्तेमाल नहीं किया जा सकता. इसे जल्द ही हटा दिया जाएगा. यह `--incompatible_run_shell_command_string` के साथ बंद है. यह पुष्टि करने के लिए कि आपका कोड काम करता है या नहीं, इस फ़्लैग का इस्तेमाल करें.

Bazel, निर्देश को लागू करने के लिए उसी शेल का इस्तेमाल करता है जिसका इस्तेमाल genrules के लिए किया जाता है.

progress_message string; or None; default = None
बिल्ड के दौरान उपयोगकर्ता को दिखाने के लिए प्रोग्रेस मैसेज. उदाहरण के लिए, "foo.o बनाने के लिए foo.cc को कंपाइल किया जा रहा है". मैसेज में %{label}, %{input} या %{output} पैटर्न हो सकते हैं. इन्हें लेबल स्ट्रिंग, पहले इनपुट या आउटपुट के पाथ से बदला जाता है. स्टैटिक स्ट्रिंग के बजाय पैटर्न का इस्तेमाल करें, क्योंकि ये ज़्यादा असरदार होते हैं.
use_default_shell_env default = False
यह तय करता है कि कार्रवाई में, पहले से मौजूद शेल एनवायरमेंट का इस्तेमाल किया जाना चाहिए या नहीं.
env dict; or None; डिफ़ॉल्ट = None
एनवायरमेंट वैरिएबल की डिक्शनरी सेट करता है.
execution_requirements dict; or None; default = None
कार्रवाई को शेड्यूल करने के लिए जानकारी. काम की कुंजियों के लिए, टैग देखें.
input_manifests sequence; or None; default = None
(प्रयोग के तौर पर उपलब्ध) इनपुट रनफ़ाइल का मेटाडेटा सेट करता है. आम तौर पर, ये resolve_command से जनरेट होते हैं.
exec_group string; or None; default = None
यह कार्रवाई, दिए गए एक्सेक ग्रुप के एक्सेक्यूशन प्लैटफ़ॉर्म पर की जाती है. अगर कोई नहीं है, तो टारगेट के डिफ़ॉल्ट रनटाइम प्लैटफ़ॉर्म का इस्तेमाल किया जाता है.
shadowed_action Action; default = None
कार्रवाई की इनपुट सूची में जोड़े गए, शैडो की गई कार्रवाई के खोजे गए इनपुट का इस्तेमाल करके कार्रवाई को चलाता है. अगर कोई नहीं है, तो सिर्फ़ ऐक्शन के इनपुट का इस्तेमाल किया जाता है.
resource_set callable; or None; default = None
स्थानीय तौर पर चलाए जाने पर, संसाधन के इस्तेमाल का अनुमान लगाने के लिए कॉलबैक फ़ंक्शन. ctx.actions.run() देखें.
toolchain Label; or string; or None; डिफ़ॉल्ट = None

इस कार्रवाई में इस्तेमाल किए गए टूल या एक्सीक्यूटेबल का टूलचेन टाइप. पैरामीटर सेट होना चाहिए, ताकि ऐक्शन सही प्लैटफ़ॉर्म पर लागू हो.

फ़िलहाल, यह कोई काम नहीं करता. हालांकि, हमारा सुझाव है कि टूलचेन का इस्तेमाल करते समय इसे सेट करें, क्योंकि आने वाले समय में Bazel के रिलीज़ में इसकी ज़रूरत होगी.

ध्यान दें कि इस कार्रवाई को बनाने वाले नियम को अपने '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 के टाइप से मैच करें. इससे सिमलिंक, target_file पर ले जाता है. जब भी सिमलिन्क का टारगेट या उसका कॉन्टेंट बदलता है, तो Bazel इस कार्रवाई के आउटपुट को अमान्य कर देता है.

इसके अलावा, target_path का इस्तेमाल करते समय, declare_symlink() के साथ output का एलान करें. इस मामले में, सिमलंक target_path पर ले जाता है. Bazel, कभी भी सिर्फ़ लिंक को हल नहीं करता. इस कार्रवाई का आउटपुट सिर्फ़ तब अमान्य होता है, जब सिर्फ़ लिंक के टेक्स्ट कॉन्टेंट (यानी readlink() की वैल्यू) में बदलाव होता है. खास तौर पर, इसका इस्तेमाल डैंगलिंग सिंबललिंक बनाने के लिए किया जा सकता है.

पैरामीटर

पैरामीटर ब्यौरा
output ज़रूरी है
इस कार्रवाई का आउटपुट.
target_file File; or None; डिफ़ॉल्ट = कोई नहीं
वह फ़ाइल जिस पर आउटपुट सिर्फ़ लिंक करेगा.
target_path string; or None; डिफ़ॉल्ट = कोई नहीं
(प्रयोग के तौर पर उपलब्ध) आउटपुट सिमलिंक जिस पाथ पर ले जाएगा उसका सटीक पता. इसमें नॉर्मलाइज़ेशन या कोई अन्य प्रोसेस लागू नहीं की जाती. इस सुविधा को ऐक्सेस करने के लिए, --experimental_allow_unresolved_symlinks सेटिंग चालू करना ज़रूरी है.
is_executable default = False
इसका इस्तेमाल सिर्फ़ target_file के साथ किया जा सकता है, target_path के साथ नहीं. अगर यह सही है, तो कार्रवाई करने पर target_file के पाथ की जांच की जाती है, ताकि यह पक्का किया जा सके कि इसे चलाया जा सकता है. अगर ऐसा नहीं है, तो गड़बड़ी की सूचना दी जाती है. is_executable को 'गलत है' पर सेट करने का मतलब यह नहीं है कि टारगेट को लागू नहीं किया जा सकता. इसका मतलब सिर्फ़ यह है कि उसकी पुष्टि नहीं की गई है.

target_path के लिए यह सुविधा काम की नहीं है, क्योंकि हो सकता है कि बिल्ड के समय डैंगलिंग सिंबललिंक मौजूद न हों.

progress_message string; or None; default = None
बिल्ड के दौरान उपयोगकर्ता को दिखाने के लिए प्रोग्रेस मैसेज.

template_dict

TemplateDict actions.template_dict()

एक्सपेरिमेंटल. यह एपीआई, एक्सपेरिमेंट के तौर पर उपलब्ध है. इसमें कभी भी बदलाव किया जा सकता है. कृपया इस पर भरोसा न करें. इसे एक्सपेरिमेंट के तौर पर चालू किया जा सकता है. इसके लिए, --+experimental_lazy_template_expansion
एक्सपेरिमेंटल: यह टेंप्लेट के ज़्यादा से ज़्यादा इस्तेमाल के लिए, TemplateDict ऑब्जेक्ट दिखाता है.

write

None actions.write(output, content, is_executable=False)

फ़ाइल में डेटा लिखने की कार्रवाई बनाता है. कार्रवाई पूरी होने पर, यह दिए गए कॉन्टेंट को फ़ाइल में लिख देगा. इसका इस्तेमाल, विश्लेषण के चरण में उपलब्ध जानकारी का इस्तेमाल करके फ़ाइलें जनरेट करने के लिए किया जाता है. अगर फ़ाइल का साइज़ बड़ा है और उसमें बहुत सारा स्टैटिक कॉन्टेंट है, तो expand_template का इस्तेमाल करें.

पैरामीटर

पैरामीटर ब्यौरा
output ज़रूरी है
आउटपुट फ़ाइल.
content string; or Args; फ़ाइल का कॉन्टेंट
ज़रूरी है. यह स्ट्रिंग या actions.args() ऑब्जेक्ट हो सकता है.
is_executable डिफ़ॉल्ट = False
क्या आउटपुट फ़ाइल को चलाया जा सकता है.