Google, सुविधा लॉन्च फ़्लैग का इस्तेमाल, कोड की स्थिर शाखाओं को पक्का करने के लिए करता है. AOSP में कुछ खास तरह के योगदान देने के लिए भी ये फ़्लैग ज़रूरी हैं. सुविधा लॉन्च करने के लिए फ़्लैग करने की सुविधा लागू करने से पहले, यह तय करें कि आपके बदलाव के लिए फ़्लैग ज़रूरी है या नहीं. अगर फ़्लैग ज़रूरी है, तो आपको यह तय करना चाहिए कि किस तरह का फ़्लैग इस्तेमाल करना है.
फ़्लैग के इस्तेमाल का पता लगाना
सुविधा लॉन्च करने के फ़्लैग का इस्तेमाल कब करना है, यह तय करने के लिए इन दिशा-निर्देशों का पालन करें:
अगर कोई ऐसा बदलाव किया जा रहा है जिसकी वजह से AOSP कोडबेस अस्थिर हो सकता है, तो सुविधा लॉन्च करने के लिए फ़्लैग का इस्तेमाल करें. जैसे, कोई नई सुविधा जोड़ना या किसी खास तरह के गड़बड़ी को ठीक करना.
इसके उलट, अगर कोड में कोई ऐसा बदलाव किया जा रहा है जिससे कोडबेस अस्थिर न हो, जैसे कि टिप्पणियों में बदलाव करना, तो आपको सुविधा लॉन्च करने के लिए फ़्लैग का इस्तेमाल करने की ज़रूरत नहीं है.
फ़्लैग का टाइप तय करना
फ़्लैग दो तरह के होते हैं: aconfig फ़्लैग और बिल्ड फ़्लैग.
Aconfig फ़्लैग
Aconfig फ़्लैग का इस्तेमाल, टेस्टिंग और रिलीज़ की प्रोसेस के दौरान, रिलीज़ नहीं किए गए कोड को रिलीज़ किए गए कोड से अलग करने के लिए किया जाता है. Aconfig फ़्लैग, रीड-राइट या रीड-ओनली हो सकते हैं:
रीड-राइट aconfig फ़्लैग, बूलियन वैरिएबल होते हैं. इन्हें रनटाइम पर चालू (
true
पर सेट करें) या बंद (false
पर सेट करें) किया जा सकता है. मुख्य शाखा के स्टेबिलिटी पर असर डाले बिना, बदलावों को टेस्ट करने और रिलीज़ करने के लिए, रीड-राइट फ़्लैग का इस्तेमाल करें.रीड-ओनली aconfig फ़्लैग, बूलियन कॉन्स्टेंट होते हैं. इन्हें रनटाइम के दौरान बदला नहीं जा सकता. रिड-राइट aconfig फ़्लैग को सिर्फ़ पढ़ने के लिए उपलब्ध aconfig फ़्लैग में बदला जा सकता है. ऐसा, ऐसे कोड के लिए किया जा सकता है जो स्थिर है और रिलीज़ के लिए तैयार है.
इसके अलावा, इस्तेमाल किए जा रहे कंपाइलर के हिसाब से, रीड-ओनली फ़्लैग का इस्तेमाल करने पर, हो सकता है कि जिस कोड को लागू नहीं किया गया है उसे बिल्ड से बाहर रखा जाए. इसलिए, रीड-ओनली फ़्लैग का इस्तेमाल करके, किसी भी ऐसे कोड को छिपाया जा सकता है जो रिलीज़ का हिस्सा नहीं है.
फ़्लैग बनाना
बिल्ड फ़्लैग, बिल्ड के समय के कॉन्स्टेंट (स्ट्रिंग) होते हैं. इन्हें रनटाइम के दौरान बदला नहीं जा सकता. इन फ़्लैग का इस्तेमाल उन स्थितियों में करें जहां aconfig फ़्लैग का इस्तेमाल नहीं किया जा सकता. जैसे:
- आपके पास पहले से कंपाइल किया गया या पहले से बना कोड है, जिसे आपको बिल्ड में शामिल करना है.
- आपको बिल्ड सिस्टम में बदलाव करने हैं.
- आपको कोड के साइज़ को मैनेज करने के लिए, डिपेंडेंसी के आस-पास फ़्लैग लगाने हैं.