Bazel इंस्टॉल करना
Ubuntu, Windows, और macOS पर Bazel इंस्टॉल करने के लिए, Bazelisk का इस्तेमाल करने का सुझाव दिया जाता है. यह Bazel का सही वर्शन अपने-आप डाउनलोड और इंस्टॉल कर लेता है. अगर आपको मौजूदा वर्किंग डायरेक्ट्री के हिसाब से Bazel के अलग-अलग वर्शन के बीच स्विच करना है या Bazel को हमेशा नए वर्शन पर अपडेट रखना है, तो Bazelisk का इस्तेमाल करें.
ज़्यादा जानकारी के लिए, आधिकारिक README देखें.
Bazel अपडेट करना
Bazel में, बैकवर्ड कंपैटिबिलिटी की नीति लागू होती है. अगर आपने कोई ऐसा बदलाव किया है जो मौजूदा वर्शन के साथ काम नहीं करता है, तो उसे रोल आउट करने के बारे में सलाह पाने के लिए, यह लेख पढ़ें. उस पेज पर, सबसे सही तरीके बताए गए हैं. इनकी मदद से, आने वाले समय में होने वाले ऐसे बदलावों के साथ काम करने के लिए अपने प्रोजेक्ट की जांच की जा सकती है और उसे माइग्रेट किया जा सकता है जो मौजूदा वर्शन के साथ काम नहीं करते. साथ ही, यह भी बताया गया है कि ऐसे बदलाव करने वाले लोगों को सुझाव/राय कैसे दी जा सकती है.
Bazelisk की मदद से, Bazel के वर्शन मैनेज करना
Bazelisk की मदद से, Bazel के वर्शन मैनेज किए जा सकते हैं.
Bazelisk ये काम कर सकता है:
- Bazel को एलटीएस या रोलिंग रिलीज़ के नए वर्शन पर अपने-आप अपडेट करना.
- .bazelversion फ़ाइल में बताए गए Bazel के वर्शन के साथ प्रोजेक्ट बनाना. अपने बिल्ड को फिर से बनाने के लिए, उस फ़ाइल को वर्शन कंट्रोल में सेव करना.
- आपके प्रोजेक्ट को ऐसे बदलावों के लिए माइग्रेट करने में मदद करना जो मौजूदा वर्शन के साथ काम नहीं करते (ऊपर देखें)
- रिलीज़ कैंडिडेट को आसानी से आज़माना
माइग्रेट करने का सुझाया गया तरीका
एलटीएस की किसी भी रिलीज़ के छोटे-मोटे अपडेट के दौरान, किसी भी प्रोजेक्ट को अगली रिलीज़ के लिए तैयार किया जा सकता है. इसके लिए, मौजूदा रिलीज़ के साथ कंपैटिबिलिटी बनाए रखने की ज़रूरत नहीं होती . हालांकि, एलटीएस के बड़े वर्शन के बीच, बैकवर्ड-इनकंपैटिबल बदलाव हो सकते हैं.
एक बड़े वर्शन से दूसरे बड़े वर्शन पर माइग्रेट करने के लिए, यह तरीका अपनाएं:
- रिलीज़ नोट पढ़ें, ताकि अगले वर्शन पर माइग्रेट करने के बारे में सलाह मिल सके.
- ऐसे बड़े बदलावों के लिए जो मौजूदा वर्शन के साथ काम नहीं करते,
--incompatible_*फ़्लैग और GitHub पर इससे जुड़ी समस्या होनी चाहिए:- GitHub पर इससे जुड़ी समस्या में, माइग्रेशन के बारे में सलाह उपलब्ध होती है.
- कुछ ऐसे बदलावों के लिए टूलिंग उपलब्ध है जो मौजूदा वर्शन के साथ काम नहीं करते. उदाहरण के लिए, buildifier.
- GitHub पर इससे जुड़ी समस्या पर टिप्पणी करके, माइग्रेशन से जुड़ी समस्याओं की शिकायत करें.
माइग्रेशन के बाद, अगले बड़े वर्शन के रिलीज़ होने तक, बैकवर्ड-कंपैटिबिलिटी की चिंता किए बिना अपने प्रोजेक्ट बनाए जा सकते हैं.