कार्रवाइयां

कार्रवाइयां बनाने के लिए फ़ंक्शन उपलब्ध कराने वाला मॉड्यूल. 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; default = None
यह एक ऐसी फ़ाइल होती है जो नई फ़ाइल के साथ ही डायरेक्ट्री में मौजूद होती है. फ़ाइल, मौजूदा पैकेज में होनी चाहिए.

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

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

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

पैरामीटर

पैरामीटर ब्यौरा
filename ज़रूरी है
अगर कोई 'सिबलिंग' नहीं दी गई है, तो नए सिंबल लिंक का पाथ, मौजूदा पैकेज के हिसाब से. इसके अलावा, किसी फ़ाइल के लिए बेस नेम ('सिबलिंग' किसी डायरेक्ट्री को तय करता है).
sibling File; or None; default = 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 = {}
Substitutions to make when expanding the template.
is_executable default = False
आउटपुट फ़ाइल एक्ज़ीक्यूटेबल होनी चाहिए या नहीं.
computed_substitutions TemplateDict; default = unbound
Experimental. यह पैरामीटर एक्सपेरिमेंट के तौर पर उपलब्ध है. इसमें कभी भी बदलाव किया जा सकता है. कृपया इसके भरोसे न रहें. इसे एक्सपेरिमेंट के तौर पर चालू किया जा सकता है. इसके लिए, --+experimental_lazy_template_expansion
Experimental: Substitutions to make when expanding the template को सेट करना होगा.

रन

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; डिफ़ॉल्ट = unbound
कार्रवाई के लिए ज़रूरी टूल की सूची या depset. टूल, अतिरिक्त रनफ़ाइल वाले इनपुट होते हैं. ये फ़ाइलें, कार्रवाई के लिए अपने-आप उपलब्ध हो जाती हैं. सूची दिए जाने पर, यह फ़ाइलों, FilesToRunProvider इंस्टेंस या फ़ाइलों के depsets का अलग-अलग कलेक्शन हो सकता है. सूची में मौजूद ऐसी फ़ाइलें जो सीधे तौर पर ctx.executable से आती हैं उनके रनफ़ाइल अपने-आप जुड़ जाएंगी. डेटासेट उपलब्ध कराने पर, उसमें सिर्फ़ फ़ाइलें होनी चाहिए. दोनों ही मामलों में, depsets में मौजूद फ़ाइलों को runfiles के लिए ctx.executable के साथ क्रॉस-रेफ़रंस नहीं किया जाता है.
arguments sequence; default = []
कार्रवाई के कमांड लाइन आर्ग्युमेंट. यह स्ट्रिंग या actions.args() ऑब्जेक्ट की सूची होनी चाहिए.
mnemonic string; or None; default = None
कार्रवाई के बारे में एक शब्द में जानकारी. उदाहरण के लिए, CppCompile या GoLink.
progress_message string; or None; default = None
Progress message to show to the user during the build, for example, "Compiling foo.cc to create foo.o". मैसेज में %{label}, %{input} या %{output} पैटर्न शामिल हो सकते हैं. इन्हें लेबल स्ट्रिंग, पहले इनपुट या आउटपुट के पाथ से बदल दिया जाता है. स्टैटिक स्ट्रिंग के बजाय पैटर्न का इस्तेमाल करें, क्योंकि ये ज़्यादा असरदार होते हैं.
use_default_shell_env default = False
Whether the action should use the built in shell environment or not.
env dict; or None; default = None
यह एनवायरमेंट वैरिएबल का डिक्शनरी सेट करता है.
execution_requirements dict; or None; default = None
कार्रवाई शेड्यूल करने के बारे में जानकारी. काम की कुंजियों के लिए, टैग देखें.
input_manifests sequence; or None; default = None
(Experimental) sets the input runfiles metadata; they are typically generated by resolve_command.
exec_group string; or None; default = None
यह दिए गए एक्ज़ीक्यूशन ग्रुप के एक्ज़ीक्यूशन प्लैटफ़ॉर्म पर कार्रवाई करता है. अगर कोई भी नहीं है, तो टारगेट के डिफ़ॉल्ट एक्ज़ीक्यूशन प्लैटफ़ॉर्म का इस्तेमाल करता है.
shadowed_action Action; default = None
यह कार्रवाई, शैडो की गई कार्रवाई के दिए गए इनपुट और एनवायरमेंट का इस्तेमाल करके की जाती है. साथ ही, कार्रवाई के इनपुट की सूची और एनवायरमेंट में जोड़े गए इनपुट और एनवायरमेंट का इस्तेमाल करके भी की जाती है. कार्रवाई का एनवायरमेंट, शैडो वाली कार्रवाई के किसी भी एनवायरमेंट वैरिएबल को ओवरराइट कर सकता है. अगर कोई भी नहीं है, तो सिर्फ़ कार्रवाई के इनपुट और दिए गए एनवायरमेंट का इस्तेमाल करता है.
resource_set callable; or None; default = None
यह एक कॉलबैक फ़ंक्शन है, जो संसाधन सेट डिक्शनरी दिखाता है. इसका इस्तेमाल, एक्ज़ीक्यूशन के समय संसाधन के इस्तेमाल का अनुमान लगाने के लिए किया जाता है. ऐसा तब होता है, जब यह कार्रवाई स्थानीय तौर पर की जाती है.

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

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

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

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

toolchain Label; or string; or None; default = 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; डिफ़ॉल्ट = unbound
कार्रवाई के लिए ज़रूरी टूल की सूची या depset. टूल, अतिरिक्त रनफ़ाइल वाले इनपुट होते हैं. ये फ़ाइलें, कार्रवाई के लिए अपने-आप उपलब्ध हो जाती हैं. इस सूची में Files या FilesToRunProvider इंस्टेंस शामिल हो सकते हैं.
arguments sequence; default = []
कार्रवाई के कमांड लाइन आर्ग्युमेंट. यह स्ट्रिंग या 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 ऑब्जेक्ट में मौजूद अलग-अलग स्ट्रिंग का रेफ़रंस दे सकता है. ध्यान दें कि अगर अज्ञात साइज़ का कोई Args ऑब्जेक्ट, arguments के हिस्से के तौर पर पास किया जाता है, तो स्ट्रिंग अज्ञात इंडेक्स पर होंगी. इस मामले में, $@ शेल सब्स्टिट्यूशन (सभी आर्ग्युमेंट वापस पाएं) काम आ सकता है.

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

Bazel, कमांड को एक्ज़ीक्यूट करने के लिए उसी शेल का इस्तेमाल करता है जिसका इस्तेमाल वह जनरूल के लिए करता है.

progress_message string; or None; default = None
Progress message to show to the user during the build, for example, "Compiling foo.cc to create foo.o". मैसेज में %{label}, %{input} या %{output} पैटर्न शामिल हो सकते हैं. इन्हें लेबल स्ट्रिंग, पहले इनपुट या आउटपुट के पाथ से बदल दिया जाता है. स्टैटिक स्ट्रिंग के बजाय पैटर्न का इस्तेमाल करें, क्योंकि ये ज़्यादा असरदार होते हैं.
use_default_shell_env default = False
Whether the action should use the built in shell environment or not.
env dict; or None; default = None
यह एनवायरमेंट वैरिएबल का डिक्शनरी सेट करता है.
execution_requirements dict; or None; default = None
कार्रवाई को शेड्यूल करने के बारे में जानकारी. काम की कुंजियों के लिए, टैग देखें.
input_manifests sequence; or None; default = None
(Experimental) sets the input runfiles metadata; they are typically generated by 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; default = 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 एट्रिब्यूट की वैल्यू से output एट्रिब्यूट की वैल्यू का टाइप मैच होना चाहिए. इससे सिमलिंक, target_file पर पॉइंट करता है. सिमलिंक के टारगेट या उसके कॉन्टेंट में बदलाव होने पर, Bazel इस कार्रवाई के आउटपुट को अमान्य कर देता है.

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

पैरामीटर

पैरामीटर ब्यौरा
output ज़रूरी है
इस कार्रवाई का आउटपुट.
target_file File; or None; डिफ़ॉल्ट = कोई नहीं
वह फ़ाइल जिस पर आउटपुट सिमलंक पॉइंट करेगा.
target_path string; or None; default = None
(Experimental) The exact path that the output symlink will point to. इसमें कोई सामान्यीकरण या अन्य प्रोसेसिंग लागू नहीं की जाती. इस सुविधा को ऐक्सेस करने के लिए, --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
Progress message to show to the user during the build.

template_dict

TemplateDict actions.template_dict()

एक्सपेरिमेंटल. यह एपीआई एक्सपेरिमेंट के तौर पर उपलब्ध है. इसमें कभी भी बदलाव किया जा सकता है. कृपया इसके भरोसे न रहें. इसे एक्सपेरिमेंट के तौर पर चालू किया जा सकता है. इसके लिए, --+experimental_lazy_template_expansion
Experimental: Returns a TemplateDict object for memory-efficient template expansion को सेट करना होगा.

मेरी मदद करो

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

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

पैरामीटर

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