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

किसी समस्या की शिकायत करें सोर्स देखें Nightly 8.1 · 8.0 · 7.5 · 7.4 · 7.3 · 7.2

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

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

खास जानकारी

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

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

बेहतर परफ़ॉर्मेंस वाला ऐप्लिकेशन क्या होता है?

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

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

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

काम न करने वाले बदलाव और माइग्रेशन रेसिपी

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

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

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

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

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

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

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