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

স্থানান্তর

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

একটি নির্ভরতা প্রান্ত জুড়ে একটি কনফিগারেশন রূপান্তর প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, যদি //package:foo কনফিগারেশন ট্রানজিশন সহ //package:bar এর উপর নির্ভর করে, তাহলে এই দুটি লক্ষ্যের কনফিগারেশন আলাদা হবে: //package:bar এর পরিবর্তন //package:foo এর দ্বারা নির্ধারিত হবে। , একটি ট্রানজিশন অবজেক্ট দ্বারা সংজ্ঞায়িত ফাংশন সাপেক্ষে।

সদস্যরা

স্থানান্তর

transition transition(implementation, inputs, outputs)

একটি রূপান্তর যা ইনপুট বিল্ড সেটিংসের একটি সেট পড়ে এবং আউটপুট বিল্ড সেটিংসের একটি সেট লিখে।

উদাহরণ:

def _transition_impl(settings, attr):
    # This transition just reads the current CPU value as a demonstration.
    # A real transition could incorporate this into its followup logic.
    current_cpu = settings["//command_line_option:cpu"]
    return {"//command_line_option:compilation_mode": "dbg"}

build_in_debug_mode = transition(
    implementation = _transition_impl,
    inputs = ["//command_line_option:cpu"],
    outputs = ["//command_line_option:compilation_mode"],
)

আরো বিস্তারিত জানার জন্য এখানে দেখুন.

পরামিতি

প্যারামিটার বর্ণনা
implementation প্রয়োজনীয়
ফাংশন এই রূপান্তর বাস্তবায়ন. এই ফাংশনে সবসময় দুটি প্যারামিটার থাকে: settings এবং attrsettings প্যারাম হল একটি অভিধান যার কীগুলির সেট ইনপুট প্যারামিটার দ্বারা সংজ্ঞায়িত করা হয়। সুতরাং, প্রতিটি বিল্ড সেটিংসের জন্য --//foo=bar , যদি inputs //foo থাকে, settings একটি এন্ট্রি settings['//foo']='bar'

attr param হল ctx.attr এর একটি রেফারেন্স। এটি অ্যাট্রিবিউট-প্যারামিটারাইজড ট্রানজিশন সম্ভব করতে নিয়মের বৈশিষ্ট্যগুলিতে বাস্তবায়ন ফাংশন অ্যাক্সেস দেয়।

এই ফাংশনটি অবশ্যই বিল্ড সেটিং আইডেন্টিফায়ার থেকে সেটিং মান তৈরি করতে একটি dict রিটার্ন করবে; এটি কনফিগারেশন ট্রানজিশনের প্রতিনিধিত্ব করে: প্রত্যাবর্তিত dict -এর প্রতিটি এন্ট্রির জন্য, ট্রানজিশন আপডেট করে যেটি নতুন মান নির্ধারণ করে। অন্যান্য সমস্ত সেটিংস অপরিবর্তিত। এই ফাংশনটি একটি বিভক্ত রূপান্তরের ক্ষেত্রে dict s বা dict dict এর একটি list ফেরত দিতে পারে।

inputs sequence of string s ; প্রয়োজনীয়
বিল্ড সেটিংসের তালিকা যা এই রূপান্তর দ্বারা পড়া যেতে পারে। এটি বাস্তবায়ন ফাংশন প্যারামিটারের সেটিংস প্যারামিটারের মূল সেট হয়ে যায়।
outputs sequence of string s ; প্রয়োজনীয়
বিল্ড সেটিংসের তালিকা যা এই রূপান্তর দ্বারা লেখা যেতে পারে। এটি অবশ্যই এই রূপান্তর দ্বারা ফিরে আসা অভিধানের কী সেটের একটি সুপারসেট হতে হবে৷