এই পৃষ্ঠাটি কীভাবে পশ্চাদমুখী সামঞ্জস্যতা পরিচালনা করতে হয় সে সম্পর্কে তথ্য প্রদান করে, যার মধ্যে এক রিলিজ থেকে অন্যটিতে স্থানান্তর করা এবং কীভাবে অসঙ্গতিপূর্ণ পরিবর্তনগুলিকে যোগাযোগ করা যায়।
Bazel বিকশিত হয়. এলটিএস প্রধান সংস্করণের অংশ হিসাবে প্রকাশিত ছোট সংস্করণগুলি সম্পূর্ণরূপে পশ্চাদপদ-সামঞ্জস্যপূর্ণ। প্রধান এলটিএস রিলিজের মধ্যে পরিবর্তনগুলি বেমানান পরিবর্তন থাকতে পারে যার জন্য কিছু স্থানান্তর প্রচেষ্টা প্রয়োজন। Bazel রিলিজ ক্যাডেন্স কিভাবে কাজ করে সে সম্পর্কে আরও তথ্যের জন্য, Bazel লং টার্ম সাপোর্ট (LTS) রিলিজ ঘোষণা করা দেখুন।
সারসংক্ষেপ
- পরিবর্তনগুলি ভাঙার জন্য
--incompatible_*
পতাকা ব্যবহার করার পরামর্শ দেওয়া হয়। - প্রতিটি
--incompatible_*
পতাকার জন্য, একটি GitHub সমস্যা আচরণের পরিবর্তন ব্যাখ্যা করে এবং একটি মাইগ্রেশন রেসিপি প্রদানের লক্ষ্য রাখে। - APIs এবং আচরণ একটি
--experimental_*
পতাকা দ্বারা সুরক্ষিত যে কোন সময় পরিবর্তন হতে পারে। -
--experimental_*
বা--incompatible_*
পতাকাগুলির সাথে উত্পাদন বিল্ডগুলি কখনই চালাবেন না।
কিভাবে এই নীতি অনুসরণ করতে হবে
- Bazel ব্যবহারকারীদের জন্য - Bazel কিভাবে আপডেট করবেন
- অবদানকারীদের জন্য - বেমানান পরিবর্তনের জন্য সর্বোত্তম অনুশীলন
- রিলিজ ম্যানেজারদের জন্য - কিভাবে ইস্যু লেবেল আপডেট করবেন এবং রিলিজ করবেন
স্থিতিশীল কার্যকারিতা কি?
সাধারণভাবে, এপিআই বা আচরণগুলি -- পরীক্ষামূলক_... ফ্ল্যাগগুলিকে --experimental_...
স্থিতিশীল, সমর্থিত বৈশিষ্ট্য হিসাবে বিবেচনা করা হয়।
এটা অন্তর্ভুক্ত:
- স্টারলার্ক ভাষা এবং API
- নিয়ম Bazel সঙ্গে bundled
- Bazel API যেমন রিমোট এক্সিকিউশন API বা বিল্ড ইভেন্ট প্রোটোকল
- পতাকা এবং তাদের শব্দার্থবিদ্যা
বেমানান পরিবর্তন এবং মাইগ্রেশন রেসিপি
একটি নতুন রিলিজে প্রতিটি বেমানান পরিবর্তনের জন্য, Bazel টিম একটি মাইগ্রেশন রেসিপি প্রদান করার লক্ষ্য রাখে যা আপনাকে আপনার কোড আপডেট করতে সাহায্য করে ( BUILD
এবং .bzl
ফাইল, সেইসাথে স্ক্রিপ্টে Bazel ব্যবহার, Bazel API এর ব্যবহার ইত্যাদি)।
অসামঞ্জস্যপূর্ণ পরিবর্তনগুলির একটি সম্পর্কিত --incompatible_*
পতাকা এবং একটি সংশ্লিষ্ট গিটহাব সমস্যা থাকা উচিত।
বেমানান পরিবর্তন যোগাযোগ
বেমানান পরিবর্তন সম্পর্কে তথ্যের প্রাথমিক উৎস হল GitHub সমস্যাগুলি একটি "অসঙ্গত-পরিবর্তন" লেবেল দিয়ে চিহ্নিত।
প্রতিটি বেমানান পরিবর্তনের জন্য, সমস্যাটি নিম্নলিখিতগুলি নির্দিষ্ট করে:
- বেমানান পরিবর্তন নিয়ন্ত্রণকারী পতাকার নাম
- পরিবর্তিত কার্যকারিতার বর্ণনা
- মাইগ্রেশন রেসিপি
যখন একটি বেমানান পরিবর্তন HEAD এ Bazel-এর সাথে মাইগ্রেশনের জন্য প্রস্তুত হয় (অতএব, পরবর্তী Bazel রোলিং রিলিজের সাথেও), এটি migration-ready
লেবেল দিয়ে চিহ্নিত করা উচিত। HEAD এ বেমানান পতাকা উল্টানো হলে বেমানান পরিবর্তন সমস্যাটি বন্ধ হয়ে যায়।