আপনার যদি প্রশ্ন থাকে বা সহায়তার প্রয়োজন হয়, সহায়তা পাওয়া দেখুন।
Bazel কি?
Bazel হল একটি টুল যা সফ্টওয়্যার তৈরি এবং পরীক্ষা স্বয়ংক্রিয় করে। সমর্থিত বিল্ড টাস্কগুলির মধ্যে রয়েছে এক্সিকিউটেবল প্রোগ্রাম এবং লাইব্রেরি তৈরি করতে কম্পাইলার এবং লিঙ্কার চালানো এবং অ্যান্ড্রয়েড, আইওএস এবং অন্যান্য লক্ষ্য পরিবেশের জন্য স্থাপনযোগ্য প্যাকেজগুলি একত্রিত করা। Bazel অন্যান্য সরঞ্জাম যেমন Make, Ant, Gradle, Buck, Pants এবং Maven এর মত।
Bazel সম্পর্কে বিশেষ কি?
Google-এ সফ্টওয়্যার যেভাবে বিকশিত হয় সেভাবে ফিট করার জন্য Bazel ডিজাইন করা হয়েছে৷ এটির নিম্নলিখিত বৈশিষ্ট্য রয়েছে:
- বহু-ভাষা সমর্থন: Bazel অনেক ভাষা সমর্থন করে, এবং নির্বিচারে প্রোগ্রামিং ভাষা সমর্থন করার জন্য প্রসারিত করা যেতে পারে।
- উচ্চ-স্তরের বিল্ড ল্যাঙ্গুয়েজ: প্রজেক্টগুলিকে
BUILD
ল্যাঙ্গুয়েজে বর্ণনা করা হয়, একটি সংক্ষিপ্ত টেক্সট ফরম্যাট যা একটি প্রোজেক্টকে ছোট আন্তঃসংযুক্ত লাইব্রেরি, বাইনারি এবং পরীক্ষার সেট হিসাবে বর্ণনা করে। বিপরীতে, মেকের মতো সরঞ্জামগুলির সাথে, আপনাকে পৃথক ফাইল এবং কম্পাইলার আহ্বান বর্ণনা করতে হবে। - মাল্টি-প্ল্যাটফর্ম সমর্থন: একই টুল এবং একই
BUILD
ফাইলগুলি বিভিন্ন আর্কিটেকচার, এমনকি বিভিন্ন প্ল্যাটফর্মের জন্য সফ্টওয়্যার তৈরি করতে ব্যবহার করা যেতে পারে। Google-এ, আমরা আমাদের ডেটা সেন্টারের সিস্টেমে চলমান সার্ভার অ্যাপ্লিকেশন থেকে শুরু করে মোবাইল ফোনে চলমান ক্লায়েন্ট অ্যাপ পর্যন্ত সবকিছু তৈরি করতে Bazel ব্যবহার করি। - পুনরুত্পাদনযোগ্যতা:
BUILD
ফাইলগুলিতে, প্রতিটি লাইব্রেরি, পরীক্ষা এবং বাইনারিকে অবশ্যই তার সরাসরি নির্ভরতা সম্পূর্ণরূপে নির্দিষ্ট করতে হবে। Bazel এই নির্ভরতা তথ্য ব্যবহার করে আপনি যখন একটি উৎস ফাইলে পরিবর্তন করবেন তখন কী পুনর্নির্মাণ করতে হবে এবং কোন কাজগুলি সমান্তরালভাবে চলতে পারে তা জানতে। এর মানে হল যে সমস্ত বিল্ড ক্রমবর্ধমান এবং সর্বদা একই ফলাফল তৈরি করবে। - মাপযোগ্য: বেজেল বড় বিল্ডগুলি পরিচালনা করতে পারে; Google-এ, একটি সার্ভার বাইনারিতে 100k সোর্স ফাইল থাকা সাধারণ, এবং যেখানে কোনও ফাইল পরিবর্তন করা হয়নি সেখানে তৈরি করতে প্রায় ~200ms লাগে৷
গুগল কেন ব্যবহার করে না...?
- মেক, নিনজা: এই টুলগুলি ফাইল তৈরি করার জন্য কোন কমান্ডগুলি ব্যবহার করা হয় তার উপর খুব সঠিক নিয়ন্ত্রণ দেয়, তবে সঠিক নিয়মগুলি লিখতে ব্যবহারকারীর উপর নির্ভর করে।
- ব্যবহারকারীরা উচ্চ স্তরে Bazel এর সাথে যোগাযোগ করে। উদাহরণ স্বরূপ, Bazel-এর “Java test”, “C++ বাইনারী” এবং “টার্গেট প্ল্যাটফর্ম” এবং “হোস্ট প্ল্যাটফর্ম” এর মত ধারণার জন্য বিল্ট-ইন নিয়ম রয়েছে। এই নিয়মগুলিকে নির্বোধ হতে যুদ্ধ পরীক্ষা করা হয়েছে.
- পিঁপড়া এবং মাভেন: পিঁপড়া এবং মাভেন প্রাথমিকভাবে জাভার দিকে পরিচালিত হয়, যখন বেজেল একাধিক ভাষা পরিচালনা করে। Bazel ছোট পুনঃব্যবহারযোগ্য ইউনিটগুলিতে উপবিভাজন কোডবেসগুলিকে উত্সাহিত করে, এবং শুধুমাত্র সেইগুলিকে পুনর্নির্মাণ করতে পারে যেগুলির পুনর্নির্মাণের প্রয়োজন৷ বড় কোডবেসের সাথে কাজ করার সময় এটি বিকাশের গতি বাড়ায়।
- Gradle: Bazel কনফিগারেশন ফাইলগুলি Gradle এর তুলনায় অনেক বেশি কাঠামোগত, যা Bazel কে বুঝতে দেয় যে প্রতিটি কাজ ঠিক কী করে। এটি আরও সমান্তরালতা এবং ভাল প্রজননযোগ্যতার জন্য অনুমতি দেয়।
- প্যান্ট, বক: উভয় টুলই যথাক্রমে টুইটার এবং ফোরস্কয়ার এবং ফেসবুকের প্রাক্তন গুগলারদের দ্বারা তৈরি এবং বিকাশ করা হয়েছিল। তারা Bazel পরে মডেল করা হয়েছে, কিন্তু তাদের বৈশিষ্ট্য সেট ভিন্ন, তাই তারা আমাদের জন্য কার্যকর বিকল্প নয়।
Bazel কোথা থেকে এসেছে?
Bazel হল টুলের একটি স্বাদ যা Google তার সার্ভার সফ্টওয়্যার অভ্যন্তরীণভাবে তৈরি করতে ব্যবহার করে। এটি অন্যান্য সফ্টওয়্যার তৈরি করার জন্য প্রসারিত হয়েছে, যেমন মোবাইল অ্যাপ (iOS, Android) যা আমাদের সার্ভারের সাথে সংযুক্ত।
আপনি কি আপনার অভ্যন্তরীণ টুলকে ওপেন সোর্স হিসাবে পুনরায় লিখতেন? এটা কি কাঁটা?
Bazel অভ্যন্তরীণ সরঞ্জামের সাথে তার বেশিরভাগ কোড ভাগ করে এবং এর নিয়মগুলি প্রতিদিন লক্ষ লক্ষ বিল্ডের জন্য ব্যবহৃত হয়।
গুগল কেন বেজেল তৈরি করেছে?
অনেক আগে, গুগল তার সফ্টওয়্যার তৈরি করেছে বড়, জেনারেটেড মেকফাইলস ব্যবহার করে। এগুলি ধীর এবং অবিশ্বস্ত বিল্ডগুলির দিকে পরিচালিত করে, যা আমাদের বিকাশকারীদের উত্পাদনশীলতা এবং কোম্পানির তত্পরতায় হস্তক্ষেপ করতে শুরু করে। Bazel এই সমস্যা সমাধানের একটি উপায় ছিল.
Bazel একটি বিল্ড ক্লাস্টার প্রয়োজন?
Bazel স্থানীয়ভাবে ডিফল্টভাবে বিল্ড অপারেশন চালায়। যাইহোক, Bazel আরও দ্রুত বিল্ড এবং পরীক্ষার জন্য একটি বিল্ড ক্লাস্টারের সাথে সংযোগ করতে পারে। আরও বিশদ বিবরণের জন্য রিমোট এক্সিকিউশন এবং ক্যাশিং এবং রিমোট ক্যাশে আমাদের ডকুমেন্টেশন দেখুন।
গুগল ডেভেলপমেন্ট প্রক্রিয়া কিভাবে কাজ করে?
আমাদের সার্ভার কোড বেসের জন্য, আমরা নিম্নলিখিত উন্নয়ন কর্মপ্রবাহ ব্যবহার করি:
- আমাদের সমস্ত সার্ভার কোড একক, বিশাল সংস্করণ নিয়ন্ত্রণ ব্যবস্থায় রয়েছে।
- Bazel দিয়ে সবাই তাদের সফটওয়্যার তৈরি করে।
- বিভিন্ন দল উৎস গাছের বিভিন্ন অংশের মালিক, এবং তাদের উপাদানগুলিকে
BUILD
লক্ষ্য হিসাবে উপলব্ধ করে। - ব্রাঞ্চিং প্রাথমিকভাবে রিলিজ পরিচালনার জন্য ব্যবহৃত হয়, তাই প্রত্যেকে তাদের সফ্টওয়্যারটি প্রধান সংশোধনের সময় বিকাশ করে।
Bazel এই দর্শনের একটি ভিত্তিপ্রস্তর: যেহেতু Bazel-এর জন্য সমস্ত নির্ভরতা সম্পূর্ণরূপে নির্দিষ্ট করা প্রয়োজন, তাই আমরা ভবিষ্যদ্বাণী করতে পারি কোন প্রোগ্রাম এবং পরীক্ষাগুলি পরিবর্তনের দ্বারা প্রভাবিত হবে এবং জমা দেওয়ার আগে সেগুলি পরীক্ষা করতে পারি৷
Google এ উন্নয়ন প্রক্রিয়ার আরো পটভূমি eng টুলস ব্লগে পাওয়া যাবে।
কেন আপনি Bazel খুললেন?
বিল্ডিং সফ্টওয়্যার মজাদার এবং সহজ হওয়া উচিত. ধীরগতির এবং অপ্রত্যাশিত বিল্ডগুলি প্রোগ্রামিং থেকে মজা নেয়।
কেন আমি Bazel ব্যবহার করতে চাই?
- Bazel আপনাকে দ্রুত বিল্ড টাইম দিতে পারে কারণ এটি শুধুমাত্র সেই ফাইলগুলিকে পুনরায় কম্পাইল করতে পারে যা পুনরায় কম্পাইল করা দরকার। একইভাবে, এটি পুনরায় চলমান পরীক্ষাগুলি এড়িয়ে যেতে পারে যা এটি জানে যে পরিবর্তিত হয়নি৷
- বেজেল নির্ধারক ফলাফল তৈরি করে। এটি ক্রমবর্ধমান এবং পরিষ্কার বিল্ড, ল্যাপটপ এবং সিআই সিস্টেম ইত্যাদির মধ্যে তির্যকতা দূর করে।
- বেজেল একই ওয়ার্কস্পেস থেকে একই টুল দিয়ে বিভিন্ন ক্লায়েন্ট এবং সার্ভার অ্যাপ তৈরি করতে পারে। উদাহরণস্বরূপ, আপনি একটি একক প্রতিশ্রুতিতে একটি ক্লায়েন্ট/সার্ভার প্রোটোকল পরিবর্তন করতে পারেন, এবং পরীক্ষা করতে পারেন যে আপডেট করা মোবাইল অ্যাপ আপডেট করা সার্ভারের সাথে কাজ করে, একই টুল দিয়ে উভয়ই তৈরি করে, Bazel-এর সমস্ত পূর্বোক্ত সুবিধাগুলি কাটাতে পারে৷
আমি উদাহরণ দেখতে পারি?
হ্যাঁ; একটি সাধারণ উদাহরণ দেখুন বা আরও জটিল উদাহরণের জন্য Bazel সোর্স কোড পড়ুন।
Bazel সেরা কি?
বেজেল নিম্নলিখিত বৈশিষ্ট্যগুলির সাথে নির্মাণ এবং পরীক্ষামূলক প্রকল্পগুলিতে জ্বলজ্বল করে:
- একটি বড় কোডবেস সহ প্রকল্প
- (একাধিক) সংকলিত ভাষায় লেখা প্রকল্প
- একাধিক প্ল্যাটফর্মে স্থাপন করা প্রকল্প
- প্রকল্প যে ব্যাপক পরীক্ষা আছে
আমি কোথায় Bazel চালাতে পারি?
Bazel Linux, macOS (OS X), এবং Windows এ চলে।
অন্যান্য UNIX প্ল্যাটফর্মে পোর্ট করা তুলনামূলকভাবে সহজ হওয়া উচিত, যতক্ষণ না প্ল্যাটফর্মের জন্য একটি JDK উপলব্ধ থাকে।
আমি কি জন্য Bazel ব্যবহার করা উচিত নয়?
- Bazel ক্যাশিং সম্পর্কে স্মার্ট হতে চেষ্টা করে। এর মানে হল এটি বিল্ড অপারেশন চালানোর জন্য ভাল নয় যার আউটপুট ক্যাশে করা উচিত নয়। উদাহরণস্বরূপ, Bazel থেকে নিম্নলিখিত পদক্ষেপগুলি চালানো উচিত নয়:
- একটি সংকলন পদক্ষেপ যা ইন্টারনেট থেকে ডেটা নিয়ে আসে।
- একটি পরীক্ষার ধাপ যা আপনার সাইটের QA উদাহরণের সাথে সংযোগ করে।
- একটি স্থাপনার পদক্ষেপ যা আপনার সাইটের ক্লাউড কনফিগারেশন পরিবর্তন করে।
- যদি আপনার বিল্ডে কয়েকটি দীর্ঘ, অনুক্রমিক ধাপ থাকে, তাহলে Bazel হয়তো খুব বেশি সাহায্য করতে পারবে না। Bazel সমান্তরালভাবে চলতে পারে এমন ছোট, বিচ্ছিন্ন লক্ষ্যে লম্বা ধাপগুলি ভেঙে আপনি আরও গতি পাবেন।
Bazel এর বৈশিষ্ট্য সেট কতটা স্থিতিশীল?
মূল বৈশিষ্ট্যগুলি (C++, জাভা, এবং শেল নিয়ম) গুগলের মধ্যে ব্যাপক ব্যবহার রয়েছে, তাই সেগুলি পুঙ্খানুপুঙ্খভাবে পরীক্ষা করা হয় এবং খুব কম মন্থন করা হয়। একইভাবে, রিগ্রেশন খুঁজে পেতে আমরা প্রতিদিন কয়েক হাজার লক্ষ্য জুড়ে Bazel-এর নতুন সংস্করণ পরীক্ষা করি এবং আমরা প্রতি মাসে একাধিকবার নতুন সংস্করণ প্রকাশ করি।
সংক্ষেপে, পরীক্ষামূলক হিসাবে চিহ্নিত বৈশিষ্ট্যগুলি ব্যতীত, Bazel এর কাজ করা উচিত। অ-পরীক্ষামূলক নিয়ম পরিবর্তন পশ্চাদপদ সামঞ্জস্যপূর্ণ হবে. বৈশিষ্ট্য সমর্থন অবস্থার একটি আরও বিস্তারিত তালিকা আমাদের সমর্থন নথিতে পাওয়া যাবে।
একটি বাইনারি হিসাবে Bazel কতটা স্থিতিশীল?
Google-এর ভিতরে, আমরা নিশ্চিত করি যে Bazel ক্র্যাশ খুব বিরল। এটি আমাদের ওপেন সোর্স কোডবেসের জন্যও রাখা উচিত।
আমি কিভাবে Bazel ব্যবহার শুরু করতে পারি?
শুরু করা দেখুন।
ডকার কি প্রজনন সমস্যা সমাধান করে না?
ডকারের সাহায্যে আপনি স্থির ওএস রিলিজ সহ সহজেই স্যান্ডবক্স তৈরি করতে পারেন, উদাহরণস্বরূপ, উবুন্টু 12.04, ফেডোরা 21। এটি সিস্টেম পরিবেশের জন্য পুনরুত্পাদনযোগ্যতার সমস্যার সমাধান করে – অর্থাৎ, "আমার কোন সংস্করণ /usr/bin/c++ দরকার?"
ডকার সোর্স কোডের পরিবর্তনের ক্ষেত্রে প্রজননযোগ্যতাকে সম্বোধন করে না। একটি ডকার কন্টেইনারের ভিতরে একটি অসম্পূর্ণভাবে লেখা মেকফাইল দিয়ে মেক চালানো এখনও অপ্রত্যাশিত ফলাফল দিতে পারে।
Google-এর ভিতরে, আমরা পুনরুত্পাদনযোগ্যতার জন্য উৎস নিয়ন্ত্রণে সরঞ্জামগুলি পরীক্ষা করি। এইভাবে, আমরা বেস লাইব্রেরিতে পরিবর্তনের মতো একই পদ্ধতির সাহায্যে টুলগুলির পরিবর্তনগুলি পরীক্ষা করতে পারি ("GCC 4.6.1 তে আপগ্রেড করুন") ("OpenSSL-এ সীমানা পরীক্ষা")৷
আমি কি ডকারে স্থাপনার জন্য বাইনারি তৈরি করতে পারি?
Bazel-এর সাহায্যে, আপনি C/C++-এ স্বতন্ত্র, স্ট্যাটিকলি লিঙ্কযুক্ত বাইনারি এবং জাভার জন্য স্বয়ংসম্পূর্ণ জার ফাইল তৈরি করতে পারেন। এগুলি সাধারণ ইউনিক্স সিস্টেমে কিছু নির্ভরতার সাথে চলে এবং যেমন একটি ডকার কন্টেইনারের ভিতরে ইনস্টল করা সহজ হওয়া উচিত।
ব্যাজেলের আরও জটিল প্রোগ্রাম গঠনের নিয়ম রয়েছে, উদাহরণস্বরূপ, একটি জাভা প্রোগ্রাম যা ডেটা ফাইলের একটি সেট ব্যবহার করে বা সাবপ্রসেস হিসাবে অন্য একটি প্রোগ্রাম চালায়। স্বতন্ত্র সংরক্ষণাগারগুলির মতো পরিবেশগুলি প্যাকেজ করা সম্ভব, তাই সেগুলি ডকার ইমেজ সহ বিভিন্ন সিস্টেমে স্থাপন করা যেতে পারে।
আমি কি Bazel দিয়ে ডকার ইমেজ তৈরি করতে পারি?
হ্যাঁ, আপনি পুনরুত্পাদনযোগ্য ডকার চিত্রগুলি তৈরি করতে আমাদের ডকার নিয়মগুলি ব্যবহার করতে পারেন।
Bazel কি আমার বিল্ডগুলিকে স্বয়ংক্রিয়ভাবে পুনরুত্পাদনযোগ্য করে তুলবে?
জাভা এবং সি ++ বাইনারিগুলির জন্য, হ্যাঁ, ধরে নিচ্ছি আপনি টুলচেন পরিবর্তন করবেন না। আপনি যদি কাস্টম রেসিপি (উদাহরণস্বরূপ, একটি নিয়মের মধ্যে একটি শেল স্ক্রিপ্টের মাধ্যমে বাইনারি চালানো) জড়িত এমন পদক্ষেপগুলি তৈরি করেন তবে আপনাকে কিছু অতিরিক্ত যত্ন নিতে হবে:
- ঘোষণা করা হয়নি এমন নির্ভরতা ব্যবহার করবেন না। স্যান্ডবক্সড এক্সিকিউশন (–স্পন_স্ট্র্যাটেজি=স্যান্ডবক্সড, শুধুমাত্র লিনাক্সে) অঘোষিত নির্ভরতা খুঁজে পেতে সাহায্য করতে পারে।
- জেনারেট করা ফাইলগুলিতে টাইমস্ট্যাম্প এবং ব্যবহারকারী-আইডি সংরক্ষণ করা এড়িয়ে চলুন। জিপ ফাইল এবং অন্যান্য সংরক্ষণাগার বিশেষ করে এটি প্রবণ হয়.
- নেটওয়ার্কের সাথে সংযোগ এড়িয়ে চলুন. স্যান্ডবক্সড এক্সিকিউশন এখানেও সাহায্য করতে পারে।
- র্যান্ডম সংখ্যা ব্যবহার করে এমন প্রক্রিয়াগুলি এড়িয়ে চলুন, বিশেষ করে, অভিধান ট্রাভার্সাল অনেক প্রোগ্রামিং ভাষায় এলোমেলো করা হয়।
আপনি বাইনারি রিলিজ আছে?
হ্যাঁ, আপনি সর্বশেষ রিলিজ বাইনারি খুঁজে পেতে পারেন এবং আমাদের রিলিজ নীতি পর্যালোচনা করতে পারেন
আমি Eclipse/IntelliJ/XCode ব্যবহার করি। কিভাবে Bazel IDEs এর সাথে ইন্টারঅপারেট করে?
IntelliJ-এর জন্য, Bazel প্লাগইন সহ IntelliJ দেখুন ।
এক্সকোডের জন্য, তুলসী দেখুন ।
Eclipse এর জন্য, E4B প্লাগইন দেখুন ।
অন্যান্য IDE-এর জন্য, এই প্লাগইনগুলি কীভাবে কাজ করে তার ব্লগ পোস্টটি দেখুন।
আমি Jenkins/CircleCI/TravisCI ব্যবহার করি। কিভাবে Bazel CI সিস্টেমের সাথে ইন্টারঅপারেট করে?
বিল্ড বা টেস্ট ইনভোকেশন ব্যর্থ হলে Bazel একটি নন-জিরো এক্সিট কোড প্রদান করে এবং এটি মৌলিক CI ইন্টিগ্রেশনের জন্য যথেষ্ট হওয়া উচিত। যেহেতু বেজেলের সঠিকতার জন্য পরিষ্কার বিল্ডের প্রয়োজন নেই, তাই বিল্ড/টেস্ট রান শুরু করার আগে CI সিস্টেমকে পরিষ্কার করার জন্য কনফিগার করা উচিত নয়।
প্রস্থান কোড সম্পর্কে আরও বিশদ ব্যবহারকারী ম্যানুয়ালটিতে রয়েছে।
আমরা Bazel এ ভবিষ্যতে কি বৈশিষ্ট্য আশা করতে পারি?
আমাদের রোডম্যাপ দেখুন।
আমি কি আমার INSERT LANGUAGE HERE প্রকল্পের জন্য Bazel ব্যবহার করতে পারি?
ব্যাজেল এক্সটেনসিবল। যে কেউ নতুন ভাষার জন্য সমর্থন যোগ করতে পারেন। অনেক ভাষা সমর্থিত: সুপারিশের তালিকার জন্য বিল্ড এনসাইক্লোপিডিয়া দেখুন এবং আরও ব্যাপক তালিকার জন্য awesomebazel.com দেখুন।
আপনি যদি এক্সটেনশনগুলি বিকাশ করতে চান বা সেগুলি কীভাবে কাজ করে তা শিখতে চান, Bazel প্রসারিত করার জন্য ডকুমেন্টেশন দেখুন৷
আমি কি Bazel কোড বেসে অবদান রাখতে পারি?
আমাদের অবদান নির্দেশিকা দেখুন.
কেন সব উন্নয়ন উন্মুক্ত করা হয় না?
আমাদের এখনও ব্যাজেলের পাবলিক কোড এবং আমাদের অভ্যন্তরীণ এক্সটেনশনগুলির মধ্যে প্রায়শই ইন্টারফেসগুলিকে রিফ্যাক্টর করতে হবে। এটি খোলা জায়গায় অনেক উন্নয়ন করা কঠিন করে তোলে।
আপনি কি ওপেন সোর্সিং ব্যাজেল সম্পন্ন করেছেন?
ওপেন সোর্সিং ব্যাজেল একটি কাজ চলছে। বিশেষ করে, আমরা এখনও ওপেন সোর্সিং নিয়ে কাজ করছি:
- আমাদের অনেক ইউনিট এবং ইন্টিগ্রেশন পরীক্ষা (যা অবদান প্যাচ সহজ করে)।
- সম্পূর্ণ IDE ইন্টিগ্রেশন।
কোডের বাইরে, আমরা শেষ পর্যন্ত সমস্ত কোড পর্যালোচনা, বাগ ট্র্যাকিং এবং ডিজাইনের সিদ্ধান্তগুলি প্রকাশ্যে ঘটতে চাই, যাতে Bazel সম্প্রদায় জড়িত থাকে৷ আমরা এখনও সেখানে নেই, তাই কিছু পরিবর্তন কেবল স্পষ্ট ব্যাখ্যা ছাড়াই Bazel সংগ্রহস্থলে প্রদর্শিত হবে। এই স্বচ্ছতার অভাব সত্ত্বেও, আমরা বহিরাগত বিকাশকারীদের সমর্থন করতে এবং সহযোগিতা করতে চাই। এইভাবে, আমরা কোডটি খুলছি, যদিও কিছু উন্নয়ন এখনও Google-এর অভ্যন্তরীণভাবে ঘটছে। আমরা একটি উন্মুক্ত মডেলে রূপান্তরিত হওয়ার কারণে কিছু অস্পষ্ট বা অন্যায় মনে হলে দয়া করে আমাদের জানান।
Bazel এর এমন কিছু অংশ আছে যা কখনই ওপেন সোর্স করা হবে না?
হ্যাঁ, কিছু কোড বেস হয় Google-নির্দিষ্ট প্রযুক্তির সাথে একীভূত হয় বা আমরা পরিত্রাণ পেতে একটি অজুহাত খুঁজছি (বা দুটির কিছু সংমিশ্রণ)। কোড বেসের এই অংশগুলি GitHub-এ উপলব্ধ নয় এবং সম্ভবত কখনই হবে না।
আমি কিভাবে দলের সাথে যোগাযোগ করব?
আমরা bazel-discuss@googlegroups.com এ পৌঁছানো যায়।
আমি কোথায় বাগ রিপোর্ট করব?
GitHub এ একটি সমস্যা খুলুন।
কোডবেসে "ব্লেজ" শব্দটি কী আছে?
এটি টুলের একটি অভ্যন্তরীণ নাম। Bazel হিসাবে Bazel উল্লেখ করুন.
কেন অন্যান্য Google প্রকল্প (Android, Chrome) অন্যান্য বিল্ড টুল ব্যবহার করে?
প্রথম (আলফা) রিলিজ পর্যন্ত, Bazel বাহ্যিকভাবে উপলব্ধ ছিল না, তাই Chromium এবং Android এর মতো ওপেন সোর্স প্রকল্পগুলি এটি ব্যবহার করতে পারেনি। উপরন্তু, উইন্ডোজ সমর্থনের মূল অভাবটি ক্রোমের মতো উইন্ডোজ অ্যাপ্লিকেশন তৈরির জন্য একটি সমস্যা ছিল। যেহেতু প্রকল্পটি পরিপক্ক হয়েছে এবং আরও স্থিতিশীল হয়েছে, তাই Android ওপেন সোর্স প্রকল্পটি Bazel-এ স্থানান্তরিত করার প্রক্রিয়াধীন রয়েছে৷
আপনি কিভাবে "বেজেল" উচ্চারণ করবেন?
মার্কিন ইংরেজিতে "তুলসী" (ভেষজ) এর মতোই: "বে-জেল"। এটি "হ্যাজেল" এর সাথে ছড়ায়। IPA: /ˈbeɪzˌəl/