Bazelisk का इस्तेमाल करके, Bazel को इंस्टॉल / अपडेट करना

Bazel इंस्टॉल करना

Ubuntu, Windows, और macOS पर Bazel इंस्टॉल करने के लिए, Bazelisk का इस्तेमाल करने का सुझाव दिया जाता है. यह Bazel का सही वर्शन अपने-आप डाउनलोड और इंस्टॉल कर लेता है. अगर आपको मौजूदा वर्किंग डायरेक्ट्री के हिसाब से Bazel के अलग-अलग वर्शन के बीच स्विच करना है या Bazel को हमेशा नए वर्शन पर अपडेट रखना है, तो Bazelisk का इस्तेमाल करें.

ज़्यादा जानकारी के लिए, आधिकारिक README देखें.

Bazel अपडेट करना

Bazel में, बैकवर्ड कंपैटिबिलिटी की नीति लागू होती है. अगर आपने कोई ऐसा बदलाव किया है जो मौजूदा वर्शन के साथ काम नहीं करता है, तो उसे रोल आउट करने के बारे में सलाह पाने के लिए, यह लेख पढ़ें. उस पेज पर, आने वाले समय में होने वाले ऐसे बदलावों के साथ अपने प्रोजेक्ट की जांच और उसे माइग्रेट करने के सबसे सही तरीके बताए गए हैं जो मौजूदा वर्शन के साथ काम नहीं करते. साथ ही, यह भी बताया गया है कि ऐसे बदलाव करने वाले लोगों को सुझाव/राय कैसे दी जा सकती है.

Bazelisk की मदद से, Bazel के वर्शन मैनेज करना

Bazelisk, Bazel के वर्शन मैनेज करने में आपकी मदद करता है.

Bazelisk ये काम कर सकता है:

  • Bazel को एलटीएस या रोलिंग रिलीज़ के नए वर्शन पर अपने-आप अपडेट करना.
  • .bazelversion फ़ाइल में बताए गए Bazel के वर्शन के साथ प्रोजेक्ट बनाना. अपने बिल्ड को फिर से बनाने की सुविधा पक्का करने के लिए, उस फ़ाइल को वर्शन कंट्रोल में शामिल करना.
  • आपके प्रोजेक्ट को ऐसे बदलावों के लिए माइग्रेट करने में मदद करना जो मौजूदा वर्शन के साथ काम नहीं करते (ऊपर देखें)
  • रिलीज़ कैंडिडेट को आसानी से आज़माना

माइग्रेट करने का सुझाया गया तरीका

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

एक बड़े वर्शन से दूसरे बड़े वर्शन पर माइग्रेट करने के लिए, यह तरीका अपनाएं:

  1. रिलीज़ नोट पढ़ें, ताकि अगले वर्शन पर माइग्रेट करने के बारे में सलाह मिल सके.
  2. ऐसे बड़े बदलावों के लिए, --incompatible_* फ़्लैग और GitHub पर इससे जुड़ी समस्या होनी चाहिए जो मौजूदा वर्शन के साथ काम नहीं करते:
    • GitHub पर इससे जुड़ी समस्या में, माइग्रेशन के बारे में सलाह उपलब्ध होती है.
    • कुछ ऐसे बदलावों को माइग्रेट करने के लिए टूलिंग उपलब्ध है जो मौजूदा वर्शन के साथ काम नहीं करते. उदाहरण के लिए, buildifier.
    • GitHub पर इससे जुड़ी समस्या पर टिप्पणी करके, माइग्रेशन से जुड़ी समस्याओं की शिकायत करें.

माइग्रेशन के बाद, अगले बड़े वर्शन के रिलीज़ होने तक, बैकवर्ड कंपैटिबिलिटी की चिंता किए बिना अपने प्रोजेक्ट बनाए जा सकते हैं.