BazelCon 2022 16-17 নভেম্বর নিউ ইয়র্ক এবং অনলাইনে আসছে। নিবন্ধন আজ!
নতুন: 15 নভেম্বর সম্প্রদায় দিবসের জন্য আমাদের সাথে যোগ দিন! বিস্তারিত এবং নিবন্ধন.

কর্ম

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
কর্ম তৈরি করতে ফাংশন প্রদান মডিউল. 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 ; ডিফল্ট = কোনোটিই নয়
একটি ফাইল যা সদ্য ঘোষিত ডিরেক্টরি হিসাবে একই ডিরেক্টরিতে থাকে। ফাইলটি বর্তমান প্যাকেজে থাকতে হবে।

declare_file

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

ঘোষণা করে যে নিয়ম বা দিকটি প্রদত্ত ফাইলের নাম দিয়ে একটি ফাইল তৈরি করে। sibling নির্দিষ্ট না থাকলে, ফাইলের নাম প্যাকেজ ডিরেক্টরির সাথে সম্পর্কিত, অন্যথায় ফাইলটি sibling হিসাবে একই ডিরেক্টরিতে থাকে। বর্তমান প্যাকেজের বাইরে ফাইল তৈরি করা যাবে না।

মনে রাখবেন যে একটি ফাইল ঘোষণা করার পাশাপাশি, আপনাকে আলাদাভাবে একটি ক্রিয়া তৈরি করতে হবে যা ফাইলটি নির্গত করে। সেই অ্যাকশনটি তৈরি করার জন্য রিটার্ন করা File অবজেক্টটিকে অ্যাকশনের কনস্ট্রাকশন ফাংশনে পাস করতে হবে।

মনে রাখবেন যে পূর্বঘোষিত আউটপুট ফাইলগুলি এই ফাংশনটি ব্যবহার করে ঘোষণা করার প্রয়োজন নেই (এবং করা যাবে না)। আপনি পরিবর্তে ctx.outputs থেকে তাদের File অবজেক্ট পেতে পারেন। ব্যবহারের উদাহরণ দেখুন

পরামিতি

প্যারামিটার বর্ণনা
filename প্রয়োজনীয়
যদি কোন 'ভাই' প্রদান না করা হয়, নতুন ফাইলের পাথ, বর্তমান প্যাকেজের সাথে সম্পর্কিত। অন্যথায় একটি ফাইলের জন্য একটি বেস নাম ('ভাই' একটি ডিরেক্টরি নির্ধারণ করে)।
sibling File ; or None ; ডিফল্ট = কোনোটিই নয়
একটি ফাইল যা নতুন তৈরি করা ফাইলের মতো একই ডিরেক্টরিতে থাকে। ফাইলটি বর্তমান প্যাকেজে থাকতে হবে।

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

পরীক্ষামূলক । এই প্যারামিটারটি পরীক্ষামূলক এবং যেকোনো সময় পরিবর্তন হতে পারে। দয়া করে এর উপর নির্ভর করবেন না। এটি একটি পরীক্ষামূলক ভিত্তিতে সক্ষম করা হতে পারে --experimental_allow_unresolved_symlinks সেট করে

ঘোষণা করে যে নিয়ম বা দিকটি বর্তমান প্যাকেজে প্রদত্ত নামের সাথে একটি সিমলিঙ্ক তৈরি করে। আপনাকে অবশ্যই একটি অ্যাকশন তৈরি করতে হবে যা এই সিমলিংক তৈরি করে। Bazel কখনই এই সিমলিংকটিকে ডিরেফার করবে না এবং এটিকে স্যান্ডবক্সে বা দূরবর্তী নির্বাহকদের কাছে স্থানান্তরিত করবে৷

পরামিতি

প্যারামিটার বর্ণনা
filename প্রয়োজনীয়
যদি কোন 'ভাই' প্রদান না করা হয়, নতুন সিমলিংকের পাথ, বর্তমান প্যাকেজের সাথে সম্পর্কিত। অন্যথায় একটি ফাইলের জন্য একটি বেস নাম ('ভাই' একটি ডিরেক্টরি সংজ্ঞায়িত করে)।
sibling File ; or None ; ডিফল্ট = কোনোটিই নয়
একটি ফাইল যা সদ্য ঘোষিত সিমলিংকের মতো একই ডিরেক্টরিতে থাকে।

কিছু করনা

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

একটি খালি অ্যাকশন তৈরি করে যা কোনও কমান্ড চালায় না বা কোনও আউটপুট তৈরি করে না, তবে এটি 'অতিরিক্ত অ্যাকশন' সন্নিবেশ করার জন্য দরকারী।

পরামিতি

প্যারামিটার বর্ণনা
mnemonic প্রয়োজনীয়
কর্মের একটি এক-শব্দের বর্ণনা, উদাহরণস্বরূপ, CppCompile বা GoLink।
inputs sequence of File s; or 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 ডিফল্ট = {}
টেমপ্লেট প্রসারিত করার সময় প্রতিস্থাপন করতে হবে।
is_executable ডিফল্ট = মিথ্যা
আউটপুট ফাইল এক্সিকিউটেবল হবে কিনা।
computed_substitutions TemplateDict ; ডিফল্ট = আবদ্ধ
পরীক্ষামূলক । এই প্যারামিটারটি পরীক্ষামূলক এবং যেকোনো সময় পরিবর্তন হতে পারে। দয়া করে এর উপর নির্ভর করবেন না। এটি --+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)

একটি এক্সিকিউটেবল চালায় এমন একটি ক্রিয়া তৈরি করে। ব্যবহারের উদাহরণ দেখুন

পরামিতি

প্যারামিটার বর্ণনা
outputs sequence of File s ; প্রয়োজনীয়
কর্মের আউটপুট ফাইলের তালিকা।
inputs sequence of File s; or depset ; ডিফল্ট = []
কর্মের ইনপুট ফাইলগুলির তালিকা বা ডিপসেট।
unused_inputs_list File ; or None ; ডিফল্ট = কোনোটিই নয়
ক্রিয়া দ্বারা অব্যবহৃত ইনপুটগুলির তালিকা ধারণকারী ফাইল৷

এই ফাইলের বিষয়বস্তু (সাধারণত অ্যাকশনের আউটপুটগুলির মধ্যে একটি) ইনপুট ফাইলগুলির তালিকার সাথে মিলে যায় যেগুলি পুরো অ্যাকশন এক্সিকিউশনের সময় ব্যবহার করা হয়নি। এই ফাইলগুলির যেকোন পরিবর্তন অবশ্যই কর্মের আউটপুটগুলিকে কোনওভাবেই প্রভাবিত করবে না।

executable File ; or string ; or FilesToRunProvider ; প্রয়োজনীয়
এক্সিকিউটেবল ফাইলটি অ্যাকশন দ্বারা কল করা হবে।
tools sequence ; or depset ; ডিফল্ট = আবদ্ধ
অ্যাকশনের জন্য প্রয়োজনীয় কোনো টুলের তালিকা বা ডিপসেট। টুল হল অতিরিক্ত রানফাইল সহ ইনপুট যা স্বয়ংক্রিয়ভাবে কর্মের জন্য উপলব্ধ করা হয়। যখন একটি তালিকা প্রদান করা হয়, এটি ফাইল, FilesToRunProvider দৃষ্টান্ত বা ফাইলগুলির ডিপসেটগুলির একটি ভিন্নধর্মী সংগ্রহ হতে পারে। যে ফাইলগুলি সরাসরি তালিকায় রয়েছে এবং ctx.executable থেকে আসে সেগুলির রানফাইলগুলি স্বয়ংক্রিয়ভাবে যুক্ত হবে৷ যখন একটি ডিপসেট প্রদান করা হয়, এতে অবশ্যই শুধুমাত্র ফাইল থাকতে হবে। উভয় ক্ষেত্রেই, ডিপসেটের মধ্যে ফাইলগুলি রানফাইলের জন্য ctx.executable এর সাথে ক্রস-রেফারেন্স করা হয় না।
arguments sequence ; ডিফল্ট = []
কর্মের কমান্ড লাইন আর্গুমেন্ট. স্ট্রিং বা actions.args() অবজেক্টের তালিকা হতে হবে।
mnemonic string ; or None ; ডিফল্ট = কোনোটিই নয়
কর্মের একটি এক-শব্দের বর্ণনা, উদাহরণস্বরূপ, CppCompile বা GoLink।
progress_message string ; or None ; ডিফল্ট = কোনোটিই নয়
বিল্ড করার সময় ব্যবহারকারীকে দেখানোর জন্য অগ্রগতি বার্তা, উদাহরণস্বরূপ, "foo.oc তৈরি করতে foo.cc কম্পাইল করা"। বার্তাটিতে %{label} , %{input} , অথবা %{output} প্যাটার্ন থাকতে পারে, যা যথাক্রমে লেবেল স্ট্রিং, প্রথম ইনপুট বা আউটপুটের পাথ দিয়ে প্রতিস্থাপিত হয়। স্থির স্ট্রিং এর পরিবর্তে প্যাটার্ন ব্যবহার করতে পছন্দ করুন, কারণ পূর্বেরগুলি আরও দক্ষ।
use_default_shell_env ডিফল্ট = মিথ্যা
ক্রিয়াটি বিল্ট ইন শেল পরিবেশ ব্যবহার করা উচিত কি না।
env dict ; or None ; ডিফল্ট = কোনোটিই নয়
পরিবেশ ভেরিয়েবলের অভিধান সেট করে।
execution_requirements dict ; or None ; ডিফল্ট = কোনোটিই নয়
কর্ম নির্ধারণের জন্য তথ্য। দরকারী কীগুলির জন্য ট্যাগ দেখুন।
input_manifests sequence ; or None ; ডিফল্ট = কোনোটিই নয়
(পরীক্ষামূলক) ইনপুট রানফাইল মেটাডেটা সেট করে; এগুলি সাধারণত সমাধান_কমান্ড দ্বারা তৈরি হয়।
exec_group string ; or None ; ডিফল্ট = কোনোটিই নয়
প্রদত্ত exec গ্রুপের এক্সিকিউশন প্ল্যাটফর্মে অ্যাকশন চালায়। যদি না হয়, টার্গেটের ডিফল্ট এক্সিকিউশন প্ল্যাটফর্ম ব্যবহার করে।
shadowed_action Action ; ডিফল্ট = কোনোটিই নয়
প্রদত্ত ছায়াযুক্ত অ্যাকশনের ইনপুট এবং অ্যাকশনের ইনপুট তালিকা এবং পরিবেশে যোগ করা পরিবেশ ব্যবহার করে অ্যাকশন চালায়। অ্যাকশন এনভায়রনমেন্ট শ্যাডোড অ্যাকশনের যে কোনো এনভায়রনমেন্ট ভেরিয়েবলকে ওভাররাইট করতে পারে। যদি না হয়, শুধুমাত্র কর্মের ইনপুট এবং প্রদত্ত পরিবেশ ব্যবহার করে।
resource_set callable; or None ; ডিফল্ট = কোনোটিই নয়
একটি কলব্যাক ফাংশন যা একটি রিসোর্স সেট অভিধান প্রদান করে, যদি এই ক্রিয়াটি স্থানীয়ভাবে চালানো হয় তাহলে সম্পাদনের সময় সম্পদের ব্যবহার অনুমান করতে ব্যবহৃত হয়।

ফাংশন দুটি অবস্থানগত আর্গুমেন্ট গ্রহণ করে: একটি স্ট্রিং একটি OS নামের প্রতিনিধিত্ব করে (যেমন "osx"), এবং একটি পূর্ণসংখ্যা যা ক্রিয়াতে ইনপুটের সংখ্যা উপস্থাপন করে। প্রত্যাবর্তিত অভিধানে নিম্নলিখিত এন্ট্রি থাকতে পারে, যার প্রতিটি একটি ফ্লোট বা একটি int হতে পারে:

  • "cpu": CPU-র সংখ্যা; ডিফল্ট 1
  • "মেমরি": এমবিতে; ডিফল্ট 250
  • "স্থানীয়_পরীক্ষা": স্থানীয় পরীক্ষার সংখ্যা; ডিফল্ট 1

যদি এই প্যারামিটারটি None তে সেট করা থাকে বা যদি --experimental_action_resource_set মিথ্যা হয়, ডিফল্ট মান ব্যবহার করা হয়।

কলব্যাক অবশ্যই টপ-লেভেল হতে হবে (ল্যাম্বডা এবং নেস্টেড ফাংশন অনুমোদিত নয়)।

রান_শেল

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)

একটি ক্রিয়া তৈরি করে যা একটি শেল কমান্ড চালায়। ব্যবহারের উদাহরণ দেখুন

পরামিতি

প্যারামিটার বর্ণনা
outputs sequence of File s ; প্রয়োজনীয়
কর্মের আউটপুট ফাইলের তালিকা।
inputs sequence of File s; or depset ; ডিফল্ট = []
কর্মের ইনপুট ফাইলগুলির তালিকা বা ডিপসেট।
tools sequence of File s; or depset ; ডিফল্ট = আবদ্ধ
অ্যাকশনের জন্য প্রয়োজনীয় কোনো টুলের তালিকা বা ডিপসেট। টুল হল অতিরিক্ত রানফাইল সহ ইনপুট যা স্বয়ংক্রিয়ভাবে কর্মের জন্য উপলব্ধ করা হয়। তালিকায় ফাইল বা FilesToRunProvider উদাহরণ থাকতে পারে।
arguments sequence ; ডিফল্ট = []
কর্মের কমান্ড লাইন আর্গুমেন্ট. স্ট্রিং বা actions.args() অবজেক্টের তালিকা হতে হবে।

Bazel এই অ্যাট্রিবিউটের উপাদানগুলিকে আর্গুমেন্ট হিসাবে কমান্ডে পাস করে৷ কমান্ড শেল ভেরিয়েবল প্রতিস্থাপন যেমন $1 , $2 , ইত্যাদি ব্যবহার করে এই আর্গুমেন্টগুলি অ্যাক্সেস করতে পারে৷ মনে রাখবেন যেহেতু আর্গস অবজেক্টগুলি ইন্ডেক্স করার আগে সমতল করা হয়, যদি অজানা আকারের একটি Args অবজেক্ট থাকে তারপর পরবর্তী সমস্ত স্ট্রিং অপ্রত্যাশিত সূচকে থাকবে। অনির্দিষ্ট আকারের Args বস্তুর সাথে একত্রে $@ (সমস্ত আর্গুমেন্ট পুনরুদ্ধার করতে) ব্যবহার করা উপযোগী হতে পারে।

যে ক্ষেত্রে command স্ট্রিংগুলির একটি তালিকা, এই প্যারামিটারটি ব্যবহার করা যাবে না।

mnemonic string ; or None ; ডিফল্ট = কোনোটিই নয়
কর্মের একটি এক-শব্দের বর্ণনা, উদাহরণস্বরূপ, CppCompile বা GoLink।
command string ; or sequence of string s ; প্রয়োজনীয়
চালানোর জন্য শেল কমান্ড। এটি হয় একটি স্ট্রিং (পছন্দের) বা স্ট্রিংগুলির একটি ক্রম (অপ্রচলিত) হতে পারে।

যদি command একটি স্ট্রিং হয়, তাহলে এটি sh -c <command> "" <arguments> দ্বারা নির্বাহ করা হয় -- অর্থাৎ, arguments উপাদানগুলিকে $1 , $2 (বা %1 , %2 ) হিসাবে কমান্ডে উপলব্ধ করা হয় যদি উইন্ডোজ ব্যাচ ব্যবহার করে) ইত্যাদি। arguments যদি কোনো actions.args() অবজেক্ট থাকে, তাহলে তাদের বিষয়বস্তু একে একে কমান্ড লাইনে যুক্ত করা হয়, তাই $ i একটি Args অবজেক্টের মধ্যে পৃথক স্ট্রিং উল্লেখ করতে পারে। মনে রাখবেন যে যদি arguments অংশ হিসাবে অজানা আকারের একটি Args অবজেক্ট পাস করা হয়, তাহলে স্ট্রিংগুলি অজানা সূচকে থাকবে; এই ক্ষেত্রে $@ শেল প্রতিস্থাপন (সমস্ত আর্গুমেন্ট পুনরুদ্ধার) দরকারী হতে পারে।

(অপ্রচলিত) যদি command স্ট্রিংগুলির একটি ক্রম হয়, প্রথম আইটেমটি চালানোর জন্য নির্বাহযোগ্য এবং অবশিষ্ট আইটেমগুলি তার আর্গুমেন্ট। যদি এই ফর্মটি ব্যবহার করা হয়, arguments প্যারামিটার অবশ্যই সরবরাহ করা হবে না। মনে রাখবেন যে এই ফর্মটি বাতিল করা হয়েছে এবং শীঘ্রই সরানো হবে৷ এটি `--incompatible_run_shell_command_string'-এর সাথে নিষ্ক্রিয় করা আছে। আপনার কোড সামঞ্জস্যপূর্ণ কিনা যাচাই করতে এই পতাকা ব্যবহার করুন.

Bazel কমান্ড চালানোর জন্য একই শেল ব্যবহার করে যেমন এটি জেনরুলের জন্য করে।

progress_message string ; or None ; ডিফল্ট = কোনোটিই নয়
বিল্ড করার সময় ব্যবহারকারীকে দেখানোর জন্য অগ্রগতি বার্তা, উদাহরণস্বরূপ, "foo.oc তৈরি করতে foo.cc কম্পাইল করা"। বার্তাটিতে %{label} , %{input} , অথবা %{output} প্যাটার্ন থাকতে পারে, যা যথাক্রমে লেবেল স্ট্রিং, প্রথম ইনপুট বা আউটপুটের পাথ দিয়ে প্রতিস্থাপিত হয়। স্থির স্ট্রিং এর পরিবর্তে প্যাটার্ন ব্যবহার করতে পছন্দ করুন, কারণ পূর্বেরগুলি আরও দক্ষ।
use_default_shell_env ডিফল্ট = মিথ্যা
ক্রিয়াটি বিল্ট ইন শেল পরিবেশ ব্যবহার করা উচিত কি না।
env dict ; or None ; ডিফল্ট = কোনোটিই নয়
পরিবেশ ভেরিয়েবলের অভিধান সেট করে।
execution_requirements dict ; or None ; ডিফল্ট = কোনোটিই নয়
কর্ম নির্ধারণের জন্য তথ্য। দরকারী কীগুলির জন্য ট্যাগ দেখুন।
input_manifests sequence ; or None ; ডিফল্ট = কোনোটিই নয়
(পরীক্ষামূলক) ইনপুট রানফাইল মেটাডেটা সেট করে; এগুলি সাধারণত সমাধান_কমান্ড দ্বারা তৈরি হয়।
exec_group string ; or None ; ডিফল্ট = কোনোটিই নয়
প্রদত্ত exec গ্রুপের এক্সিকিউশন প্ল্যাটফর্মে অ্যাকশন চালায়। যদি না হয়, টার্গেটের ডিফল্ট এক্সিকিউশন প্ল্যাটফর্ম ব্যবহার করে।
shadowed_action Action ; ডিফল্ট = কোনোটিই নয়
অ্যাকশনের ইনপুট তালিকায় যোগ করা প্রদত্ত ছায়াযুক্ত অ্যাকশনের আবিষ্কৃত ইনপুট ব্যবহার করে অ্যাকশন চালায়। যদি না হয়, শুধুমাত্র কর্মের ইনপুট ব্যবহার করে।
resource_set callable; or None ; ডিফল্ট = কোনোটিই নয়
স্থানীয়ভাবে চালানো হলে সম্পদের ব্যবহার অনুমান করার জন্য একটি কলব্যাক ফাংশন। ctx.actions.run() দেখুন।

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 দিকে নির্দেশ করে। বেজেল কখনই সিমলিঙ্কের সমাধান করে না এবং এই ক্রিয়াটির আউটপুট শুধুমাত্র তখনই অবৈধ হয়ে যায় যখন সিমলিংকের পাঠ্য বিষয়বস্তু (অর্থাৎ, readlink() ) এর মান পরিবর্তন হয়। বিশেষ করে, এটি একটি ঝুলন্ত সিমলিঙ্ক তৈরি করতে ব্যবহার করা যেতে পারে।

পরামিতি

প্যারামিটার বর্ণনা
output প্রয়োজনীয়
এই কর্মের আউটপুট.
target_file File ; or None ; ডিফল্ট = কোনোটিই নয়
যে ফাইলটি আউটপুট সিমলিংক নির্দেশ করবে।
target_path string ; or None ; ডিফল্ট = কোনোটিই নয়
(পরীক্ষামূলক) সঠিক পথ যা আউটপুট সিমলিংক নির্দেশ করবে। কোন স্বাভাবিককরণ বা অন্যান্য প্রক্রিয়াকরণ প্রয়োগ করা হয় না. এই বৈশিষ্ট্যে অ্যাক্সেসের জন্য --experimental_allow_unresolved_symlinks সেটিং প্রয়োজন।
is_executable ডিফল্ট = মিথ্যা
শুধুমাত্র target_path target_file । সত্য হলে, অ্যাকশনটি সম্পাদিত হলে, এটা এক্সিকিউটেবল কিনা তা নিশ্চিত করার জন্য target_file এর পাথ চেক করা হয় এবং এটি না হলে একটি ত্রুটি রিপোর্ট করা হয়। is_executable to False সেটিং এর অর্থ এই নয় যে টার্গেট এক্সিকিউটেবল নয়, শুধু যে কোন যাচাই করা হয় না।

এই বৈশিষ্ট্যটি target_path জন্য অর্থপূর্ণ নয় কারণ বিল্ড টাইমে ড্যাংলিং সিমলিংক বিদ্যমান নাও থাকতে পারে।

progress_message string ; or None ; ডিফল্ট = কোনোটিই নয়
বিল্ড করার সময় ব্যবহারকারীকে দেখানোর জন্য অগ্রগতি বার্তা।

টেমপ্লেট_ডিক্ট

TemplateDict actions.template_dict()

পরীক্ষামূলক । এই API পরীক্ষামূলক এবং যে কোনো সময় পরিবর্তন হতে পারে। দয়া করে এর উপর নির্ভর করবেন না। এটি --+experimental_lazy_template_expansion সেট করে পরীক্ষামূলক ভিত্তিতে সক্ষম করা যেতে পারে
পরীক্ষামূলক: মেমরি-দক্ষ টেমপ্লেট সম্প্রসারণের জন্য একটি TemplateDict অবজেক্ট প্রদান করে।

লিখুন

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

একটি ফাইল লেখার ক্রিয়া তৈরি করে। যখন কর্মটি কার্যকর করা হয়, এটি একটি ফাইলে প্রদত্ত বিষয়বস্তু লিখবে। এটি বিশ্লেষণ পর্বে উপলব্ধ তথ্য ব্যবহার করে ফাইল তৈরি করতে ব্যবহৃত হয়। যদি ফাইলটি বড় হয় এবং প্রচুর স্ট্যাটিক কন্টেন্ট থাকে, expand_template ব্যবহার করার কথা বিবেচনা করুন।

পরামিতি

প্যারামিটার বর্ণনা
output প্রয়োজনীয়
আউটপুট ফাইল।
content string ; or Args ; প্রয়োজনীয়
ফাইলের বিষয়বস্তু। একটি স্ট্রিং বা একটি actions.args() অবজেক্ট হতে পারে।
is_executable ডিফল্ট = মিথ্যা
আউটপুট ফাইল এক্সিকিউটেবল হবে কিনা।