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

মডিউল_ctx

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।
নির্ভরতা গ্রাফ জুড়ে প্রাসঙ্গিক ট্যাগ সম্পর্কে সহায়ক ফাংশন এবং তথ্য ধারণকারী মডিউল এক্সটেনশনের প্রসঙ্গ। আপনি যখন একটি মডিউল এক্সটেনশন তৈরি করেন তখন আপনি implementation ফাংশনের একটি যুক্তি হিসাবে একটি module_ctx অবজেক্ট পাবেন।

সদস্যরা

ডাউনলোড

struct module_ctx.download(url, output='', sha256='', executable=False, allow_fail=False, canonical_id='', auth={}, *, integrity='')

প্রদত্ত url-এর জন্য আউটপুট পাথে একটি ফাইল ডাউনলোড করে এবং success সম্বলিত একটি স্ট্রাকট প্রদান করে, একটি পতাকা যা true হয় যদি ডাউনলোড সফলভাবে সম্পন্ন হয় এবং সফল হলে, sha256 এবং integrity ক্ষেত্র সহ ফাইলটির একটি হ্যাশ।

পরামিতি

প্যারামিটার বর্ণনা
url string ; or Iterable of string s ; প্রয়োজনীয়
একই ফাইলের উল্লেখ করে মিরর URL-এর তালিকা।
output string ; or Label ; or path ; ডিফল্ট = ''
আউটপুট ফাইলের পাথ, সংগ্রহস্থল ডিরেক্টরির সাথে সম্পর্কিত।
sha256 ডিফল্ট = ''
ডাউনলোড করা ফাইলটির প্রত্যাশিত SHA-256 হ্যাশ। এটি অবশ্যই ডাউনলোড করা ফাইলের SHA-256 হ্যাশের সাথে মিলবে৷ SHA-256 বাদ দেওয়া একটি নিরাপত্তা ঝুঁকি কারণ দূরবর্তী ফাইলগুলি পরিবর্তন করতে পারে৷ সর্বোত্তমভাবে এই ক্ষেত্রটি বাদ দিলে আপনার বিল্ড অ-হারমেটিক হয়ে যাবে। এটা উন্নয়ন সহজ করতে ঐচ্ছিক কিন্তু শিপিং আগে সেট করা উচিত.
executable ডিফল্ট = মিথ্যা
তৈরি করা ফাইলে এক্সিকিউটেবল পতাকা সেট করুন, ডিফল্টরূপে মিথ্যা।
allow_fail ডিফল্ট = মিথ্যা
সেট করা থাকলে, ব্যর্থ ডাউনলোডের জন্য একটি ত্রুটি উত্থাপনের পরিবর্তে রিটার্ন মানের ত্রুটি নির্দেশ করুন
canonical_id ডিফল্ট = ''
যদি সেট করা থাকে, সেই ক্ষেত্রে ক্যাশে হিটগুলিকে সীমাবদ্ধ করুন যেখানে ফাইলটি একই ক্যানোনিকাল আইডি দিয়ে ক্যাশে যুক্ত করা হয়েছিল
auth ডিফল্ট = {}
কিছু URL-এর জন্য প্রমাণীকরণ তথ্য নির্দিষ্ট করে একটি ঐচ্ছিক ডিক্ট।
integrity ডিফল্ট = ''
ডাউনলোড করা ফাইলের প্রত্যাশিত চেকসাম, Subresource Integrity ফরম্যাটে। এটি অবশ্যই ডাউনলোড করা ফাইলের চেকসামের সাথে মেলে। চেকসাম বাদ দেওয়া একটি নিরাপত্তা ঝুঁকি কারণ দূরবর্তী ফাইলগুলি পরিবর্তন করতে পারে। সর্বোত্তমভাবে এই ক্ষেত্রটি বাদ দিলে আপনার বিল্ড অ-হারমেটিক হয়ে যাবে। এটা উন্নয়ন সহজ করতে ঐচ্ছিক কিন্তু শিপিং আগে সেট করা উচিত.

ডাউনলোড_এন্ড_এক্সট্রাক্ট

struct module_ctx.download_and_extract(url, output='', sha256='', type='', stripPrefix='', allow_fail=False, canonical_id='', auth={}, *, integrity='', rename_files={})

প্রদত্ত url-এর জন্য আউটপুট পাথে একটি ফাইল ডাউনলোড করে, এটিকে এক্সট্র্যাক্ট করে এবং সফল একটি স্ট্রাকট প্রদান success , একটি পতাকা যা true হয় যদি ডাউনলোড সফলভাবে সম্পন্ন হয় এবং সফল হলে, sha256 এবং integrity ক্ষেত্র সহ ফাইলটির একটি হ্যাশ।

পরামিতি

প্যারামিটার বর্ণনা
url string ; or Iterable of string s ; প্রয়োজনীয়
একই ফাইলের উল্লেখ করে মিরর URL-এর তালিকা।
output string ; or Label ; or path ; ডিফল্ট = ''
ডিরেক্টরির পাথ যেখানে সংরক্ষণাগারটি আনপ্যাক করা হবে, সংগ্রহস্থল ডিরেক্টরির সাথে সম্পর্কিত।
sha256 ডিফল্ট = ''
ডাউনলোড করা ফাইলটির প্রত্যাশিত SHA-256 হ্যাশ। এটি অবশ্যই ডাউনলোড করা ফাইলের SHA-256 হ্যাশের সাথে মিলবে৷ SHA-256 বাদ দেওয়া একটি নিরাপত্তা ঝুঁকি কারণ দূরবর্তী ফাইলগুলি পরিবর্তন করতে পারে৷ সর্বোত্তমভাবে এই ক্ষেত্রটি বাদ দিলে আপনার বিল্ড অ-হারমেটিক হয়ে যাবে। এটা উন্নয়ন সহজ করতে ঐচ্ছিক কিন্তু শিপিং আগে সেট করা উচিত. প্রদান করা হলে, রিপোজিটরি ক্যাশে প্রথমে প্রদত্ত হ্যাশ সহ একটি ফাইলের জন্য পরীক্ষা করা হবে; ফাইলটি ক্যাশে না পাওয়া গেলেই ডাউনলোড করার চেষ্টা করা হবে। একটি সফল ডাউনলোড করার পরে, ফাইলটি ক্যাশে যোগ করা হবে।
type ডিফল্ট = ''
ডাউনলোড করা ফাইলের সংরক্ষণাগার প্রকার। ডিফল্টরূপে, URL এর ফাইল এক্সটেনশন থেকে আর্কাইভের ধরন নির্ধারণ করা হয়। যদি ফাইলটির কোনো এক্সটেনশন না থাকে, তাহলে আপনি স্পষ্টভাবে "zip", "jar", "war", "aar", "tar", "tar.gz", "tgz", "tar.xz", "txz" উল্লেখ করতে পারেন ", ".tar.zst", ".tzst", "tar.bz2", ".ar", বা ".deb" এখানে।
stripPrefix ডিফল্ট = ''
নিষ্কাশিত ফাইল থেকে ছিন্ন করার জন্য একটি ডিরেক্টরি উপসর্গ। অনেক সংরক্ষণাগারে একটি শীর্ষ-স্তরের ডিরেক্টরি থাকে যা সংরক্ষণাগারের সমস্ত ফাইল ধারণ করে। build_file এ এই উপসর্গটি বারবার উল্লেখ করার পরিবর্তে, এই ক্ষেত্রটি এক্সট্র্যাক্ট করা ফাইল থেকে ছিনিয়ে নিতে ব্যবহার করা যেতে পারে।
allow_fail ডিফল্ট = মিথ্যা
সেট করা থাকলে, ব্যর্থ ডাউনলোডের জন্য একটি ত্রুটি উত্থাপনের পরিবর্তে রিটার্ন মানের ত্রুটি নির্দেশ করুন
canonical_id ডিফল্ট = ''
যদি সেট করা থাকে, সেই ক্ষেত্রে ক্যাশে হিটগুলিকে সীমাবদ্ধ করুন যেখানে ফাইলটি একই ক্যানোনিকাল আইডি দিয়ে ক্যাশে যুক্ত করা হয়েছিল
auth ডিফল্ট = {}
কিছু URL-এর জন্য প্রমাণীকরণ তথ্য নির্দিষ্ট করে একটি ঐচ্ছিক ডিক্ট।
integrity ডিফল্ট = ''
ডাউনলোড করা ফাইলের প্রত্যাশিত চেকসাম, Subresource Integrity ফরম্যাটে। এটি অবশ্যই ডাউনলোড করা ফাইলের চেকসামের সাথে মেলে। চেকসাম বাদ দেওয়া একটি নিরাপত্তা ঝুঁকি কারণ দূরবর্তী ফাইলগুলি পরিবর্তন করতে পারে। সর্বোত্তমভাবে এই ক্ষেত্রটি বাদ দিলে আপনার বিল্ড অ-হারমেটিক হয়ে যাবে। এটা উন্নয়ন সহজ করতে ঐচ্ছিক কিন্তু শিপিং আগে সেট করা উচিত.
rename_files ডিফল্ট = {}
নিষ্কাশনের সময় পুনঃনামকরণ করার জন্য ফাইলগুলি নির্দিষ্ট করে একটি ঐচ্ছিক ডিক্ট৷ যেকোন ডিরেক্টরি উপসর্গ সামঞ্জস্যের পূর্বে, একটি কী-এর সাথে হুবহু মিলে যাওয়া নামের সাথে আর্কাইভ এন্ট্রির নাম পরিবর্তন করা হবে। এটি নন-ইউনিকোড ফাইলের নাম ধারণ করে সংরক্ষণাগারগুলি বের করতে ব্যবহার করা যেতে পারে, অথবা যে ফাইলগুলি কেস-অসংবেদনশীল ফাইল সিস্টেমে একই পথে বের করতে পারে।

এক্সিকিউট

exec_result module_ctx.execute(arguments, timeout=600, environment={}, quiet=True, working_directory="")

আর্গুমেন্টের তালিকা দ্বারা প্রদত্ত কমান্ড কার্যকর করে। কমান্ড কার্যকর করার সময় timeout দ্বারা সীমিত (সেকেন্ডে, ডিফল্ট 600 সেকেন্ড)। এই পদ্ধতিটি কমান্ডের আউটপুট ধারণকারী exec_result গঠন প্রদান করে। environment ম্যাপ প্রক্রিয়ায় পাস করার জন্য কিছু পরিবেশ ভেরিয়েবল ওভাররাইড করতে ব্যবহার করা যেতে পারে।

পরামিতি

প্যারামিটার বর্ণনা
arguments প্রয়োজনীয়
আর্গুমেন্টের তালিকা, প্রথম উপাদানটি কার্যকর করার জন্য প্রোগ্রামের পথ হওয়া উচিত।
timeout ডিফল্ট = 600
সেকেন্ডে কমান্ডের সর্বোচ্চ সময়কাল (ডিফল্ট হল 600 সেকেন্ড)।
environment ডিফল্ট = {}
কিছু এনভায়রনমেন্ট ভেরিয়েবলকে প্রক্রিয়ায় পাস করার জন্য সেট করতে বাধ্য করুন।
quiet ডিফল্ট = সত্য
যদি stdout এবং stderr টার্মিনালে প্রিন্ট করা উচিত।
working_directory ডিফল্ট = ""
কমান্ড এক্সিকিউশনের জন্য ওয়ার্কিং ডিরেক্টরি। রিপোজিটরি রুট বা পরম আপেক্ষিক হতে পারে।

ফাইল

None module_ctx.file(path, content='', executable=True, legacy_utf8=True)

প্রদত্ত সামগ্রী সহ সংগ্রহস্থল ডিরেক্টরিতে একটি ফাইল তৈরি করে।

পরামিতি

প্যারামিটার বর্ণনা
path string ; or Label ; or path ; প্রয়োজনীয়
রিপোজিটরি ডিরেক্টরির সাপেক্ষে তৈরি করা ফাইলের পাথ।
content ডিফল্ট = ''
তৈরি করা ফাইলের বিষয়বস্তু, ডিফল্টরূপে খালি।
executable ডিফল্ট = সত্য
তৈরি করা ফাইলে এক্সিকিউটেবল পতাকা সেট করুন, ডিফল্টরূপে সত্য।
legacy_utf8 ডিফল্ট = সত্য
UTF-8 ফাইলের বিষয়বস্তু এনকোড করুন, ডিফল্টরূপে সত্য। ভবিষ্যতের সংস্করণগুলি ডিফল্ট পরিবর্তন করবে এবং এই প্যারামিটারটি সরিয়ে দেবে।

মডিউল

list module_ctx.modules

বাহ্যিক নির্ভরতা গ্রাফে সমস্ত Bazel মডিউলের একটি তালিকা, যার প্রতিটি একটি bazel_module অবজেক্ট যা এই মডিউল এক্সটেনশনের জন্য নির্দিষ্ট করা সমস্ত ট্যাগ প্রকাশ করে। এই অভিধানের পুনরাবৃত্তির ক্রম রুট মডিউল থেকে শুরু করে প্রস্থ-প্রথম অনুসন্ধানের মতোই নিশ্চিত।

os

repository_os module_ctx.os

সিস্টেম থেকে তথ্য অ্যাক্সেস করার জন্য একটি কাঠামো।

পথ

path module_ctx.path(path)

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

পরামিতি

প্যারামিটার বর্ণনা
path string ; or Label ; or path ; প্রয়োজনীয়
স্ট্রিং, লেবেল বা পাথ যেখান থেকে পাথ তৈরি করতে হবে

পড়া

string module_ctx.read(path)

ফাইল সিস্টেমে একটি ফাইলের বিষয়বস্তু পড়ে।

পরামিতি

প্যারামিটার বর্ণনা
path string ; or Label ; or path ; প্রয়োজনীয়
ফাইলের পাথ থেকে পড়তে হবে।

রিপোর্ট_প্রগতি

None module_ctx.report_progress(status='')

এই সংগ্রহস্থল বা মডিউল এক্সটেনশন আনার জন্য অগ্রগতি স্থিতি আপডেট করে

পরামিতি

প্যারামিটার বর্ণনা
status string ; ডিফল্ট = ''
আনার অগ্রগতির বর্তমান অবস্থা বর্ণনা করে স্ট্রিং

যা

path module_ctx.which(program)

সংশ্লিষ্ট প্রোগ্রামের পাথ রিটার্ন করে অথবা যদি পাথে এরকম কোন প্রোগ্রাম না থাকে তাহলে None।

পরামিতি

প্যারামিটার বর্ণনা
program প্রয়োজনীয়
পথ খুঁজে প্রোগ্রাম.
None ফেরত দিতে পারে না।