फ़्लैग के इस्तेमाल और टाइप का पता लगाना

Google, कोड की ब्रांच को स्थिर बनाए रखने के लिए, फ़ीचर लॉन्च फ़्लैग का इस्तेमाल करता है. AOSP में कुछ तरह के योगदान के लिए भी इन फ़्लैग की ज़रूरत होती है. फ़ीचर लॉन्च फ़्लैग लागू करने से पहले, यह तय करें कि आपके बदलाव के लिए किसी फ़्लैग की ज़रूरत है या नहीं. इसके अलावा, अगर किसी फ़्लैग की ज़रूरत है, तो आपको यह तय करना होगा कि किस तरह का फ़्लैग इस्तेमाल करना है.

फ़्लैग के इस्तेमाल के बारे में जानकारी

फ़ीचर लॉन्च फ़्लैग का इस्तेमाल कब करना है, यह तय करने के लिए इन दिशा-निर्देशों का पालन करें:

  • अगर आप कोई ऐसा बदलाव कर रहे हैं जिससे AOSP के कोड बेस में गड़बड़ी आ सकती है, तो फ़ीचर लॉन्च फ़्लैग का इस्तेमाल करें. जैसे, कोई नया फ़ीचर जोड़ना या किसी मुश्किल गड़बड़ी को ठीक करना.

  • इसके उलट, अगर आप कोड में कोई ऐसा बदलाव कर रहे हैं जिससे कोडबेस में गड़बड़ी नहीं आ सकती, तो फ़ीचर लॉन्च फ़्लैग का इस्तेमाल करने की ज़रूरत नहीं है. जैसे, टिप्पणियों में बदलाव करना.

फ़्लैग के टाइप के बारे में जानकारी

फ़्लैग दो तरह के होते हैं: aconfig फ़्लैग और बिल्ड फ़्लैग.

Aconfig फ़्लैग

टेस्टिंग और रिलीज़ की प्रोसेस के दौरान, रिलीज़ नहीं किए गए कोड को रिलीज़ किए गए कोड से अलग करने के लिए, aconfig फ़्लैग का इस्तेमाल किया जाता है. Aconfig फ़्लैग, रीड-राइट या रीड-ओनली हो सकते हैं:

  • रीड-राइट aconfig फ़्लैग, बूलियन वैरिएबल होते हैं. इन्हें रनटाइम में चालू (true पर सेट) या बंद (false पर सेट) किया जा सकता है. मुख्य ब्रांच की स्थिरता पर असर डाले बिना, बदलावों की जांच करने और उन्हें रिलीज़ करने के लिए, रीड-राइट फ़्लैग का इस्तेमाल करें.

  • रीड-ओनली aconfig फ़्लैग, बूलियन कॉन्स्टैंट होते हैं. इन्हें रनटाइम में बदला नहीं जा सकता. ऐसे कोड के लिए, रीड-राइट aconfig फ़्लैग को रीड-ओनली aconfig फ़्लैग में बदला जा सकता है जो स्थिर है और रिलीज़ के लिए तैयार है.

    इसके अलावा, इस्तेमाल किए जा रहे कंपाइलर के आधार पर, रीड-ओनली फ़्लैग का इस्तेमाल करने पर, हो सकता है कि वह कोड बिल्ड में शामिल न हो जिसे एक्ज़ीक्यूट नहीं किया गया है. इसलिए, रिलीज़ का हिस्सा बनने के लिए तैयार नहीं किए गए किसी भी कोड को छिपाने के लिए, रीड-ओनली फ़्लैग का इस्तेमाल किया जा सकता है.

बिल्ड फ़्लैग

बिल्ड फ़्लैग, बिल्ड-टाइम कॉन्स्टैंट (स्ट्रिंग) होते हैं. इन्हें रनटाइम के दौरान बदला नहीं जा सकता. इन फ़्लैग का इस्तेमाल उन स्थितियों में करें जहां aconfig फ़्लैग का इस्तेमाल नहीं किया जा सकता. जैसे:

  • आपके पास कोड का कोई ऐसा हिस्सा है जिसे पहले से कंपाइल या बिल्ड किया गया है और जिसे आपको बिल्ड में शामिल करना है.
  • आपको बिल्ड सिस्टम में बदलाव करने हैं.
  • आपको कोड के साइज़ को मैनेज करने के लिए, डिपेंडेंसी के आस-पास फ़्लैग लगाने हैं.