इस पेज पर, पुराने सिस्टम के साथ काम करने की सुविधा को मैनेज करने के तरीके के बारे में बताया गया है. इसमें एक रिलीज़ से दूसरी रिलीज़ पर माइग्रेट करने और काम न करने वाले बदलावों के बारे में जानकारी देने का तरीका भी शामिल है.
Basel को बेहतर बनाया जा रहा है. एलटीएस मेजर वर्शन के हिस्से के तौर पर रिलीज़ किए गए छोटे वर्शन, पुराने सिस्टम के साथ पूरी तरह से काम करते हैं. मुख्य एलटीएस रिलीज़ में ऐसे बदलाव हो सकते हैं जो काम के न हों. इसलिए, माइग्रेशन में कुछ मेहनत करनी पड़ती है. Basel की नई रिलीज़ के काम करने के तरीक़ों के बारे में ज़्यादा जानने के लिए, Baस्टोर के लिए लंबे समय तक सहायता (एलटीएस) रिलीज़ करने का एलान लेख पढ़ें.
खास जानकारी
- बदलावों को लागू करने के लिए,
--incompatible_*
फ़्लैग का इस्तेमाल करने का सुझाव दिया जाता है. - हर
--incompatible_*
फ़्लैग के लिए, GitHub की एक समस्या, व्यवहार में होने वाले बदलाव के बारे में बताती है. साथ ही, इसका मकसद माइग्रेशन रेसिपी उपलब्ध कराना है. --experimental_*
फ़्लैग की मदद से सुरक्षित किए गए एपीआई और व्यवहार में किसी भी समय बदलाव किया जा सकता है.- कभी भी
--experimental_*
या--incompatible_*
फ़्लैग के साथ प्रोडक्शन बिल्ड न चलाएं.
इस नीति का पालन करने का तरीका
- Basel का इस्तेमाल करने वाले लोगों के लिए - Baज़र को अपडेट करने का तरीका
- योगदान देने वालों के लिए - काम न करने वाले बदलावों के लिए सबसे सही तरीके
- रिलीज़ मैनेजर के लिए - समस्या से जुड़े लेबल और रिलीज़ को अपडेट करने का तरीका
स्थिर फ़ंक्शन क्या है?
आम तौर पर, बिना --experimental_...
फ़्लैग वाले एपीआई या व्यवहार को Basel में काम करने वाली सुविधाएं माना जाता है.
इसमें इस तरह का कॉन्टेंट शामिल है:
- स्टारलार्क लैंग्वेज और एपीआई
- Basel के साथ बंडल किए गए नियम
- Basel API, जैसे कि Remote एक्ज़िक्यूशन एपीआई या बिल्ड इवेंट प्रोटोकॉल
- फ़्लैग और उनके सिमेंटिक्स
डेटा को दूसरी जगह भेजने से जुड़ी रेसिपी और उनमें किए गए बदलाव काम नहीं करते
नई रिलीज़ में साथ काम न करने वाले हर बदलाव के लिए, Basel टीम का मकसद
माइग्रेशन रेसिपी उपलब्ध कराना है. इससे आपको अपना कोड अपडेट करने में मदद मिलती है
(BUILD
और .bzl
फ़ाइलों के साथ-साथ स्क्रिप्ट में Basel का इस्तेमाल, Basel API का इस्तेमाल वगैरह)
जो बदलाव काम नहीं करते उनमें, --incompatible_*
फ़्लैग और GitHub से जुड़ी समस्या होनी चाहिए.
असंगत बदलावों के बारे में बताना
काम न करने वाले बदलावों के बारे में जानकारी का मुख्य सोर्स, GitHub की ऐसी समस्याएं हैं जिन्हें "अनियमित-बदलाव" लेबल से मार्क किया गया है.
साथ काम न करने वाले हर बदलाव के लिए, समस्या नीचे दी गई जानकारी देती है:
- काम न करने वाले बदलाव को कंट्रोल करने वाले फ़्लैग का नाम
- बदली गई सुविधा की जानकारी
- डेटा दूसरी जगह भेजने से जुड़ी रेसिपी
जब कोई असंगत बदलाव HEAD पर Basel के साथ माइग्रेट करने के लिए तैयार हो (जैसे, अगली Babel रोलिंग रिलीज़ के साथ), तो उसे migration-ready
लेबल के साथ चिह्नित किया जाना चाहिए. असंगत फ़्लैग को HEAD पर फ़्लिप करने पर, असंगत बदलाव की समस्या बंद हो जाती है.