पुराने सिस्टम के साथ काम करने की सुविधा

किसी समस्या की शिकायत करें सोर्स देखें Nightly · 7.4 . 7.3 · 7.2 · 7.1 · 7.0 · 6.5

इस पेज पर, पुराने वर्शन के साथ काम करने की सुविधा को मैनेज करने का तरीका बताया गया है. इसमें, एक रिलीज़ से दूसरी रिलीज़ पर माइग्रेट करने के साथ-साथ, काम न करने वाले बदलावों के बारे में बताने का तरीका भी शामिल है.

Basel को बेहतर बनाया जा रहा है. एलटीएस मेजरमेंट प्रोग्राम के तहत रिलीज़ किए गए छोटे वर्शन वर्शन पूरी तरह से पुराने सिस्टम के साथ काम करता है. LTS के नए मुख्य रिलीज़ में, ऐसे बदलाव हो सकते हैं जो साथ काम न करें. ऐसे में, माइग्रेशन के लिए कुछ मेहनत करनी पड़ सकती है. Basel के रिलीज़ मॉडल के बारे में ज़्यादा जानकारी के लिए, कृपया रिलीज़ देखें मॉडल पेज.

खास जानकारी

  1. हमारा सुझाव है कि ब्रेकिंग बदलावों के लिए, --incompatible_* फ़्लैग का इस्तेमाल करें.
  2. हर --incompatible_* फ़्लैग के लिए, GitHub की समस्या में व्यवहार में हुए बदलाव के बारे में बताया गया है. साथ ही, माइग्रेशन का तरीका भी बताया गया है.
  3. इस्तेमाल नहीं किए जा सकने वाले फ़्लैग को सबसे नए एलटीएस (लंबे समय तक सहायता) में वापस ले जाने का सुझाव दिया जाता है को डिफ़ॉल्ट रूप से फ़्लैग को चालू किए बिना रिलीज़ किया जा सकता है.
  4. --experimental_* फ़्लैग की मदद से सुरक्षित किए गए एपीआई और उनके काम करने का तरीका कभी भी बदल सकता है.
  5. कभी भी --experimental_* या --incompatible_* के साथ प्रोडक्शन बिल्ड न चलाएं फ़्लैग.

इस नीति का पालन करने का तरीका

स्थिर फ़ंक्शन क्या है?

आम तौर पर, बिना --experimental_... फ़्लैग वाले एपीआई या व्यवहार को ध्यान में रखा जाता है बेज़ल और अच्छी तरह काम करने वाली सुविधाएं.

इसमें इस तरह का कॉन्टेंट शामिल है:

  • Starlark भाषा और एपीआई
  • Bazel के साथ बंडल किए गए नियम
  • Bazel API, जैसे कि रिमोट इक्विज़िक्यूशन एपीआई या बिल्ड इवेंट प्रोटोकॉल
  • फ़्लैग और उनके सिमेंटिक्स

डेटा को दूसरी जगह भेजने से जुड़ी रेसिपी और उनमें किए गए बदलाव काम नहीं करते

अपनी नई रिलीज़ में असंगत होने वाले हर बदलाव के लिए, Basel की टीम का लक्ष्य माइग्रेशन रेसिपी जिससे आप अपना कोड (BUILD और .bzl फ़ाइलें, साथ ही, स्क्रिप्ट में Baज़ल का इस्तेमाल, Basel API का इस्तेमाल वगैरह का इस्तेमाल भी होता है).

जो बदलाव काम नहीं करते उनमें उससे जुड़ा --incompatible_* फ़्लैग और एक GitHub से जुड़ी समस्या है.

हमारा सुझाव है कि काम न करने वाले फ़्लैग और उससे जुड़े बदलावों को, डिफ़ॉल्ट रूप से फ़्लैग चालू किए बिना, एलटीएस के सबसे नए वर्शन में वापस पोर्ट किया जाए. इससे उपयोगकर्ताओं को और साथ काम न करने वाले बदलावों के लिए, अगली एलटीएस रिलीज़ से पहले उपलब्ध हैं.

काम न करने वाले बदलावों की जानकारी देना

काम न करने वाले बदलावों के बारे में जानकारी का मुख्य सोर्स, GitHub की समस्याएं हैं "अनियमित-बदलाव" से मार्क किया गया है लेबल बनाएं.

काम न करने वाले हर बदलाव के लिए, समस्या में ये चीज़ें बताई जाती हैं:

  • काम न करने वाले बदलाव को कंट्रोल करने वाले फ़्लैग का नाम
  • बदली गई सुविधा की जानकारी
  • डेटा दूसरी जगह भेजने से जुड़ी रेसिपी

जब कोई ऐसा बदलाव, HEAD में मौजूद Bazel के साथ माइग्रेट करने के लिए तैयार हो जो काम नहीं करता (इसलिए, Bazel के अगले रोलिंग रिलीज़ के साथ भी काम नहीं करता), तो उसे migration-ready लेबल के साथ मार्क किया जाना चाहिए. HEAD पर, काम न करने वाले फ़्लैग को फ़्लिप करने पर, काम न करने वाले बदलाव की समस्या बंद हो जाती है.