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

আর্গস

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
একটি বস্তু যা একটি মেমরি-দক্ষ উপায়ে, একটি কমান্ড লাইনের অংশ বা সমস্তটি তৈরি করার জন্য প্রয়োজনীয় ডেটা এনক্যাপসুলেট করে।

এটি প্রায়শই ঘটে যে একটি ক্রিয়াকলাপের জন্য একটি বৃহৎ কমান্ড লাইন প্রয়োজন যাতে ট্রানজিটিভ নির্ভরতা থেকে সঞ্চিত মান রয়েছে। উদাহরণস্বরূপ, একটি লিঙ্কার কমান্ড লাইন লিঙ্ক করা সমস্ত লাইব্রেরির জন্য প্রয়োজনীয় প্রতিটি অবজেক্ট ফাইলের তালিকা করতে পারে। এই ধরনের ট্রানজিটিভ ডেটা depset s-এ সংরক্ষণ করা সর্বোত্তম অনুশীলন, যাতে সেগুলি একাধিক লক্ষ্য দ্বারা ভাগ করা যায়। যাইহোক, যদি নিয়ম লেখককে একটি অ্যাকশন কমান্ড লাইন তৈরি করার জন্য এই ডিপসেটগুলিকে স্ট্রিংগুলির তালিকায় রূপান্তর করতে হয়, তবে এটি এই মেমরি-শেয়ারিং অপ্টিমাইজেশানকে পরাজিত করবে।

এই কারণে, কর্ম-নির্মাণ ফাংশন স্ট্রিং ছাড়াও Args অবজেক্ট গ্রহণ করে। প্রতিটি Args অবজেক্ট ডেটা ম্যানিপুলেট করার জন্য ঐচ্ছিক রূপান্তর সহ স্ট্রিং এবং ডিপসেটের সংমিশ্রণ উপস্থাপন করে। Args অবজেক্টগুলি এক্সিকিউশন ফেজ পর্যন্ত ডিপসেটগুলিকে প্রক্রিয়া করে না, যখন কমান্ড লাইন গণনা করার সময় আসে। বিশ্লেষণ পর্যায় সম্পূর্ণ না হওয়া পর্যন্ত এটি কোনো ব্যয়বহুল অনুলিপি স্থগিত করতে সাহায্য করে। আরও তথ্যের জন্য অপ্টিমাইজিং পারফরম্যান্স পৃষ্ঠাটি দেখুন।

Args ctx.actions.args() কল করে তৈরি করা হয়। এগুলি ctx.actions.run() বা ctx.actions.run_shell() এর arguments প্যারামিটার হিসাবে পাস করা যেতে পারে। একটি Args অবজেক্টের প্রতিটি মিউটেশন চূড়ান্ত কমান্ড লাইনে মান যুক্ত করে।

map_each বৈশিষ্ট্য আপনাকে কাস্টমাইজ করতে দেয় কিভাবে আইটেমগুলি স্ট্রিংয়ে রূপান্তরিত হয়। আপনি একটি map_each ফাংশন প্রদান না করলে, আদর্শ রূপান্তর নিম্নরূপ:

  • যে মানগুলি ইতিমধ্যেই স্ট্রিং আছে সেগুলিকে যেমন-ই রেখে দেওয়া হয়েছে৷
  • File অবজেক্টগুলি তাদের File.path মানগুলিতে পরিণত হয়।
  • অন্য সব ধরনের একটি অনির্দিষ্ট পদ্ধতিতে স্ট্রিং পরিণত হয়. এই কারণে, আপনি add() এর জন্য স্ট্রিং বা File টাইপের নয় এমন মানগুলি পাস করা এড়াতে হবে এবং যদি আপনি সেগুলি add_all() বা add_joined() এ পাস করেন তবে আপনাকে একটি map_each ফাংশন প্রদান করা উচিত।

স্ট্রিং ফরম্যাটিং ব্যবহার করার সময় ( format , format_each , এবং add*() পদ্ধতির format_joined params), ফরম্যাট টেমপ্লেটটিকে স্ট্রিং-এ % -substitution-এর মতো একইভাবে ব্যাখ্যা করা হয়, টেমপ্লেটটিতে অবশ্যই একটি প্রতিস্থাপন স্থানধারক থাকতে হবে এবং এটি অবশ্যই %s হতে আক্ষরিক শতাংশ %% হিসাবে এড়িয়ে যেতে পারে। উপরের অনুসারে মানটিকে একটি স্ট্রিংয়ে রূপান্তরিত করার পরে বিন্যাস প্রয়োগ করা হয়।

প্রতিটি add*() পদ্ধতির একটি বিকল্প ফর্ম রয়েছে যা একটি অতিরিক্ত অবস্থানগত পরামিতি গ্রহণ করে, বাকি আর্গুমেন্টের আগে সন্নিবেশ করার জন্য একটি "আর্গ নাম" স্ট্রিং। add_all এবং add_joined এর জন্য অতিরিক্ত স্ট্রিং যোগ করা হবে না যদি ক্রমটি খালি হয়। উদাহরণস্বরূপ, একই ব্যবহার কমান্ড লাইনে --foo val1 val2 val3 --bar অথবা just --bar যোগ করতে পারে, প্রদত্ত ক্রমটিতে val1..val3 আছে নাকি খালি আছে তার উপর নির্ভর করে।

যদি কমান্ড লাইনের আকার সিস্টেম দ্বারা অনুমোদিত সর্বোচ্চ আকারের চেয়ে দীর্ঘ হতে পারে, আর্গুমেন্টগুলি প্যারামিটার ফাইলগুলিতে ছড়িয়ে দেওয়া যেতে পারে। use_param_file() এবং set_param_file_format() দেখুন।

উদাহরণ: ধরুন আমরা কমান্ড লাইন তৈরি করতে চাই:

--foo foo1.txt foo2.txt ... fooN.txt --bar bar1.txt,bar2.txt,...,barM.txt --baz
আমরা নিম্নলিখিত Args অবজেক্ট ব্যবহার করতে পারি:
# foo_deps and bar_deps are depsets containing
# File objects for the foo and bar .txt files.
args = ctx.actions.args()
args.add_all("--foo", foo_deps)
args.add_joined("--bar", bar_deps, join_with=",")
args.add("--baz")
ctx.actions.run(
  ...
  arguments = [args],
  ...
)

সদস্যরা

যোগ করুন

Args Args.add(arg_name_or_value, value=unbound, *, format=None)

এই কমান্ড লাইনে একটি আর্গুমেন্ট যুক্ত করে।

পরামিতি

প্যারামিটার বর্ণনা
arg_name_or_value প্রয়োজনীয়
যদি দুটি অবস্থানগত পরামিতি পাস করা হয় তবে এটিকে আর্গ নাম হিসাবে ব্যাখ্যা করা হয়। কোনো প্রক্রিয়াকরণ ছাড়াই মানের আগে আর্গ নাম যোগ করা হয়। শুধুমাত্র একটি অবস্থানগত পরামিতি পাস করা হলে, এটি value হিসাবে ব্যাখ্যা করা হয় (নীচে দেখুন)।
value ডিফল্ট = আবদ্ধ
যে বস্তুটি যুক্ত করতে হবে। উপরে উল্লিখিত স্ট্যান্ডার্ড রূপান্তর ব্যবহার করে এটি একটি স্ট্রিং-এ রূপান্তরিত হবে। যেহেতু এই ফাংশনের জন্য কোনো map_each প্যারামিটার নেই, তাই value একটি স্ট্রিং বা একটি File হওয়া উচিত। এই পদ্ধতির পরিবর্তে একটি তালিকা, টিপল, ডিপসেট বা ডিরেক্টরি File অবশ্যই add_all() বা add_joined() এ পাস করতে হবে।
format string ; or None ; ডিফল্ট = কোনোটিই নয়
একটি বিন্যাস স্ট্রিং প্যাটার্ন, value স্ট্রিংকৃত সংস্করণে প্রয়োগ করা হবে।

সব যোগ কর

Args Args.add_all(arg_name_or_values, values=unbound, *, map_each=None, format_each=None, before_each=None, omit_if_empty=True, uniquify=False, expand_directories=True, terminate_with=None, allow_closure=False)

এই কমান্ড লাইনে একাধিক আর্গুমেন্ট যুক্ত করে। আইটেমগুলি কার্যকর করার পর্যায়ে অলসভাবে প্রক্রিয়া করা হয়।

বেশিরভাগ প্রক্রিয়াকরণ নিম্নলিখিত ধাপ অনুযায়ী যুক্ত করা আর্গুমেন্টের একটি তালিকার উপর ঘটে:

  1. প্রতিটি ডিরেক্টরি File আইটেম সেই ডিরেক্টরিতে পুনরাবৃত্তভাবে থাকা সমস্ত File দ্বারা প্রতিস্থাপিত হয়।
  2. যদি map_each দেওয়া হয়, এটি প্রতিটি আইটেমের জন্য প্রয়োগ করা হয়, এবং স্ট্রিংগুলির ফলের তালিকাগুলি প্রাথমিক আর্গুমেন্ট তালিকা তৈরি করতে একত্রিত হয়। অন্যথায়, প্রাথমিক যুক্তি তালিকা প্রতিটি আইটেমে আদর্শ রূপান্তর প্রয়োগের ফলাফল।
  3. তালিকার প্রতিটি আর্গুমেন্ট format_each দিয়ে ফরম্যাট করা হয়, যদি উপস্থিত থাকে।
  4. uniquify সত্য হলে, ডুপ্লিকেট আর্গুমেন্ট সরানো হয়। প্রথম ঘটনাটিই অবশিষ্ট থাকে।
  5. একটি before_each স্ট্রিং দেওয়া হলে, তালিকায় বিদ্যমান প্রতিটি আর্গুমেন্টের আগে এটি একটি নতুন আর্গুমেন্ট হিসেবে ঢোকানো হয়। এটি কার্যকরভাবে এই পয়েন্ট দ্বারা যুক্ত করা আর্গুমেন্টের সংখ্যা দ্বিগুণ করে।
  6. যে ক্ষেত্রে তালিকাটি খালি এবং omit_if_empty সত্য (ডিফল্ট), arg name এবং terminate_with যথাক্রমে প্রথম এবং শেষ আর্গুমেন্ট হিসাবে সন্নিবেশ করা হয়, যদি সেগুলি দেওয়া হয়।
মনে রাখবেন যে খালি স্ট্রিংগুলি বৈধ আর্গুমেন্ট যা এই সমস্ত প্রক্রিয়াকরণ পদক্ষেপের বিষয়।

পরামিতি

প্যারামিটার বর্ণনা
arg_name_or_values প্রয়োজনীয়
যদি দুটি অবস্থানগত পরামিতি পাস করা হয় তবে এটিকে আর্গ নাম হিসাবে ব্যাখ্যা করা হয়। কোনো প্রক্রিয়াকরণ ছাড়াই values আগে আর্গ নাম যোগ করা হয়। যদি omit_if_empty সত্য (ডিফল্ট) হয় এবং অন্য কোন আইটেম যুক্ত না হয় (যেমনটি হয় যদি values খালি থাকে বা এর সমস্ত আইটেম ফিল্টার করা হয়) তাহলে এই আর্গ নামটি যোগ করা হবে না। শুধুমাত্র একটি অবস্থানগত পরামিতি পাস করা হলে, এটি values হিসাবে ব্যাখ্যা করা হয় (নীচে দেখুন)।
values sequence ; or depset ; ডিফল্ট = আবদ্ধ
তালিকা, টিপল বা ডিপসেট যার আইটেম যুক্ত করা হবে।
map_each callable; or None ; ডিফল্ট = কোনোটিই নয়
একটি ফাংশন যা প্রতিটি আইটেমকে শূন্য বা তার বেশি স্ট্রিংয়ে রূপান্তর করে, যা যুক্ত করার আগে আরও প্রক্রিয়া করা হতে পারে। এই প্যারাম প্রদান করা না হলে, মান রূপান্তর ব্যবহার করা হয়।

ফাংশনটি হয় এক বা দুটি অবস্থানগত আর্গুমেন্ট পাস করা হয়: রূপান্তর করার আইটেম, একটি ঐচ্ছিক DirectoryExpander অনুসরণ করে। দ্বিতীয় যুক্তিটি তখনই পাস করা হবে যদি সরবরাহকৃত ফাংশনটি ব্যবহারকারী-সংজ্ঞায়িত হয় (বিল্ট-ইন নয়) এবং একাধিক প্যারামিটার ঘোষণা করে।

রিটার্ন মানের প্রকার আইটেমের জন্য কতগুলি আর্গুমেন্ট তৈরি করতে হবে তার উপর নির্ভর করে:

  • সাধারণ ক্ষেত্রে যখন প্রতিটি আইটেম একটি স্ট্রিংয়ে পরিণত হয়, ফাংশনটি সেই স্ট্রিংটি ফিরিয়ে দিতে হবে।
  • যদি আইটেমটি সম্পূর্ণরূপে ফিল্টার আউট করতে হয়, ফাংশনটি None প্রদান করবে।
  • যদি আইটেমটি একাধিক স্ট্রিংয়ে পরিণত হয়, ফাংশনটি সেই স্ট্রিংগুলির একটি তালিকা প্রদান করে।
একটি একক স্ট্রিং বা None প্রদান করা যথাক্রমে দৈর্ঘ্য 1 বা দৈর্ঘ্য 0 এর একটি তালিকা ফেরত দেওয়ার মতো একই প্রভাব ফেলে। যাইহোক, যেখানে এটির প্রয়োজন নেই এমন একটি তালিকা তৈরি করা এড়াতে এটি আরও দক্ষ এবং পঠনযোগ্য।

সাধারণত, যখন expand_directories=True সেট করা থাকে তখন যে আইটেমগুলি ডিরেক্টরি সেগুলি স্বয়ংক্রিয়ভাবে তাদের বিষয়বস্তুতে প্রসারিত হয়। যাইহোক, এটি অন্যান্য মানের মধ্যে থাকা ডিরেক্টরিগুলিকে প্রসারিত করবে না -- উদাহরণস্বরূপ, যখন আইটেমগুলি হল স্ট্রাকট যাতে ক্ষেত্র হিসাবে ডিরেক্টরি থাকে৷ এই পরিস্থিতিতে, একটি প্রদত্ত ডিরেক্টরির ফাইল ম্যানুয়ালি পেতে DirectoryExpander আর্গুমেন্ট প্রয়োগ করা যেতে পারে।

এক্সিকিউশন ফেজে বৃহৎ বিশ্লেষণ-ফেজ ডেটা স্ট্রাকচারের অনিচ্ছাকৃত ধারণ এড়াতে, map_each ফাংশন একটি শীর্ষ-স্তরের def স্টেটমেন্ট দ্বারা ঘোষণা করা আবশ্যক; এটি ডিফল্টরূপে নেস্টেড ফাংশন বন্ধ নাও হতে পারে।

সতর্কতা: print() স্টেটমেন্ট যা map_each কল করার সময় কার্যকর করা হয় তা কোনো দৃশ্যমান আউটপুট তৈরি করবে না।

format_each string ; or None ; ডিফল্ট = কোনোটিই নয়
একটি ঐচ্ছিক বিন্যাস স্ট্রিং প্যাটার্ন, map_each ফাংশন দ্বারা প্রত্যাবর্তিত প্রতিটি স্ট্রিং-এ প্রয়োগ করা হয়। বিন্যাস স্ট্রিংটিতে অবশ্যই একটি '%s' স্থানধারক থাকতে হবে।
before_each string ; or None ; ডিফল্ট = কোনোটিই নয়
values থেকে প্রাপ্ত প্রতিটি আর্গুমেন্টের আগে যুক্ত করার জন্য একটি ঐচ্ছিক স্ট্রিং যুক্ত করা হয়।
omit_if_empty ডিফল্ট = সত্য
যদি সত্য হয়, যদি values থেকে যুক্ত করার জন্য কোনো আর্গুমেন্ট না থাকে, তাহলে পরবর্তী সমস্ত প্রক্রিয়াকরণ চাপা দেওয়া হয় এবং কমান্ড লাইন অপরিবর্তিত থাকবে। মিথ্যা হলে, arg name এবং terminate_with , প্রদান করা হলে, অন্যান্য আর্গুমেন্ট থাকুক বা না থাকুক না কেন, তারপরও যুক্ত করা হবে।
uniquify ডিফল্ট = মিথ্যা
সত্য হলে, values থেকে প্রাপ্ত ডুপ্লিকেট আর্গুমেন্ট বাদ দেওয়া হবে। প্রতিটি যুক্তির শুধুমাত্র প্রথম ঘটনাটি থাকবে। সাধারণত এই বৈশিষ্ট্যটির প্রয়োজন হয় না কারণ ডিপসেটগুলি ইতিমধ্যেই সদৃশগুলি বাদ দেয়, তবে এটি কার্যকর হতে পারে যদি map_each একাধিক আইটেমের জন্য একই স্ট্রিং নির্গত করে।
expand_directories ডিফল্ট = সত্য
সত্য হলে, values মধ্যে যেকোন ডিরেক্টরি ফাইলের সমতল তালিকায় প্রসারিত করা হবে। map_each প্রয়োগ করার আগে এটি ঘটে।
terminate_with string ; or None ; ডিফল্ট = কোনোটিই নয়
অন্য সব আর্গুমেন্টের পরে যুক্ত করার জন্য একটি ঐচ্ছিক স্ট্রিং। এই স্ট্রিং যোগ করা হবে না যদি omit_if_empty সত্য হয় (ডিফল্ট) এবং অন্য কোনো আইটেম যুক্ত না হয় (যেমনটি হয় যদি values খালি থাকে বা এর সমস্ত আইটেম ফিল্টার করা হয়)।
allow_closure ডিফল্ট = মিথ্যা
সত্য হলে, map_each এর মত ফাংশন প্যারামিটারে ক্লোজার ব্যবহারের অনুমতি দেয়। সাধারণত এটি প্রয়োজনীয় নয় এবং এটি কার্যকরী পর্যায়ে বড় বিশ্লেষণ-ফেজ ডেটা স্ট্রাকচার ধরে রাখার ঝুঁকি নিয়ে থাকে।

add_joined

Args Args.add_joined(arg_name_or_values, values=unbound, *, join_with, map_each=None, format_each=None, format_joined=None, omit_if_empty=True, uniquify=False, expand_directories=True, allow_closure=False)

একটি বিভাজক ব্যবহার করে একাধিক মান একত্রিত করে এই কমান্ড লাইনে একটি আর্গুমেন্ট যোগ করে। আইটেমগুলি কার্যকর করার পর্যায়ে অলসভাবে প্রক্রিয়া করা হয়।

প্রসেসিং add_all() এর মতই, কিন্তু values থেকে প্রাপ্ত আর্গুমেন্টের তালিকাটি একটি একক আর্গুমেন্টে মিলিত হয় যেন join_with.join(...) দ্বারা, এবং তারপর প্রদত্ত format_joined স্ট্রিং টেমপ্লেট ব্যবহার করে ফর্ম্যাট করা হয়। add_all() বিপরীতে , কোনো before_each বা terminate_with প্যারামিটার নেই যেহেতু আইটেমগুলিকে একটি আর্গুমেন্টে একত্রিত করা হলে এগুলো সাধারণত উপযোগী হয় না।

যদি ফিল্টার করার পরে একটি আর্গুমেন্টে যোগদানের জন্য কোন স্ট্রিং না থাকে এবং যদি omit_if_empty সত্য (ডিফল্ট) হয় তবে কোন প্রক্রিয়াকরণ করা হয় না। অন্যথায় যদি যোগদানের জন্য কোনো স্ট্রিং না থাকে তবে omit_if_empty মিথ্যা হয়, যোগ করা স্ট্রিংটি একটি খালি স্ট্রিং হবে।

পরামিতি

প্যারামিটার বর্ণনা
arg_name_or_values প্রয়োজনীয়
যদি দুটি অবস্থানগত পরামিতি পাস করা হয় তবে এটিকে আর্গ নাম হিসাবে ব্যাখ্যা করা হয়। কোনো প্রক্রিয়াকরণ ছাড়াই values আগে আর্গের নাম যোগ করা হয়। এই আর্গ যোগ করা হবে না যদি omit_if_empty সত্য হয় (ডিফল্ট) এবং একসাথে যোগ দেওয়ার জন্য values থেকে প্রাপ্ত কোনও স্ট্রিং না থাকে (যা হতে পারে যদি values খালি থাকে বা এর সমস্ত আইটেম ফিল্টার করা হয়)। শুধুমাত্র একটি অবস্থানগত পরামিতি পাস করা হলে, এটি values হিসাবে ব্যাখ্যা করা হয় (নীচে দেখুন)।
values sequence ; or depset ; ডিফল্ট = আবদ্ধ
তালিকা, tuple, বা depset যার আইটেম যোগ করা হবে।
join_with প্রয়োজনীয়
স্ট্রিং. string.join() এর মতো একই পদ্ধতিতে map_each এবং format_each প্রয়োগ করার মাধ্যমে প্রাপ্ত স্ট্রিংগুলিকে একত্রে যুক্ত করতে ব্যবহৃত একটি বিভাজনকারী স্ট্রিং।
map_each callable; or None ; ডিফল্ট = কোনোটিই নয়
add_all
format_each string ; or None ; ডিফল্ট = কোনোটিই নয়
add_all
format_joined string ; or None ; ডিফল্ট = কোনোটিই নয়
যোগ করা স্ট্রিং এ প্রয়োগ করা একটি ঐচ্ছিক বিন্যাস স্ট্রিং প্যাটার্ন। বিন্যাস স্ট্রিংটিতে অবশ্যই একটি '%s' স্থানধারক থাকতে হবে।
omit_if_empty ডিফল্ট = সত্য
যদি সত্য হয়, যদি একসাথে যোগ করার জন্য কোন স্ট্রিং না থাকে (কারণ হয় values খালি থাকে বা এর সমস্ত আইটেম ফিল্টার করা হয়), তাহলে পরবর্তী সমস্ত প্রক্রিয়াকরণ চাপা দেওয়া হয় এবং কমান্ড লাইন অপরিবর্তিত থাকবে। যদি মিথ্যা হয়, তাহলে একসাথে যোগ করার জন্য কোনো স্ট্রিং না থাকলেও, দুটি আর্গুমেন্ট যুক্ত করা হবে: একটি খালি স্ট্রিং (যা শূন্য স্ট্রিং-এর যৌক্তিক যোগ) দ্বারা অনুসরণ করা arg নাম।
uniquify ডিফল্ট = মিথ্যা
add_all
expand_directories ডিফল্ট = সত্য
add_all
allow_closure ডিফল্ট = মিথ্যা
add_all

set_param_file_format

Args Args.set_param_file_format(format)

প্যারাম ফাইলের বিন্যাস সেট করে, যদি একটি ব্যবহার করা হয়

পরামিতি

প্যারামিটার বর্ণনা
format প্রয়োজনীয়
এর মধ্যে একটি হতে হবে:
  • "মাল্টিলাইন": প্রতিটি আইটেম (আর্গুমেন্টের নাম বা মান) প্যারাম ফাইলে একটি নতুন লাইনের অক্ষর দিয়ে লিখিত হয়।
  • "শেল": "মাল্টিলাইন" এর মতো, কিন্তু আইটেমগুলি শেল-উদ্ধৃত
  • "flag_per_line": "মাল্টিলাইন" এর মতোই, কিন্তু (1) শুধুমাত্র পতাকাগুলি ('--' দিয়ে শুরু) প্যারাম ফাইলে লেখা হয় এবং (2) পতাকার মান, যদি থাকে, একই লাইনে লেখা হয় একটি '=' বিভাজক সহ। এটি Abseil পতাকা লাইব্রেরি দ্বারা প্রত্যাশিত বিন্যাস.

যদি বলা না হয় তাহলে বিন্যাসটি "শেল" তে ডিফল্ট হয়।

use_param_file

Args Args.use_param_file(param_file_arg, *, use_always=False)

একটি প্যারাম ফাইলে args ছড়িয়ে দেয়, প্যারাম ফাইলে একটি পয়েন্টার দিয়ে প্রতিস্থাপন করে। সিস্টেমের কমান্ড দৈর্ঘ্য সীমার জন্য আপনার আর্গগুলি খুব বড় হলে ব্যবহার করুন।

Bazel দক্ষতার জন্য নির্বাহের সময় আউটপুট ট্রিতে প্যারাম ফাইল লেখার জন্য বেছে নিতে পারে। আপনি যদি ডিবাগিং অ্যাকশন করে থাকেন এবং প্যারাম ফাইল পরিদর্শন করতে চান, তাহলে --materialize_param_files আপনার বিল্ডে পাস করুন।

পরামিতি

প্যারামিটার বর্ণনা
param_file_arg প্রয়োজনীয়
একটি একক "%s" সহ একটি বিন্যাস স্ট্রিং। যদি args একটি params ফাইলে ছিটকে যায় তাহলে প্যারাম ফাইলের পাথের সাথে বিন্যাস করা এই স্ট্রিং সমন্বিত একটি আর্গুমেন্ট দিয়ে প্রতিস্থাপন করা হয়।

উদাহরণস্বরূপ, যদি args একটি params ফাইল "params.txt"-এ ছিটকে যায়, তাহলে "--file=%s" উল্লেখ করলে অ্যাকশন কমান্ড লাইনে "--file=params.txt" থাকবে।

use_always ডিফল্ট = মিথ্যা
একটি params ফাইলে সবসময় args ছড়াতে হবে কিনা। মিথ্যা হলে, ব্যাজেল সিদ্ধান্ত নেবে আপনার সিস্টেম এবং আর্গের দৈর্ঘ্যের উপর ভিত্তি করে আর্গুমেন্টগুলি স্পিল করা দরকার কিনা।