Google משתמשת בדגלים להשקת תכונות כגישה להבטחת ענפי קוד יציבים. הדגלים האלה נדרשים גם לסוגים מסוימים של תרומות ל-AOSP. לפני שמטמיעים סימון של השקת תכונות, צריך לקבוע אם נדרש סימון לשינוי. בנוסף, אם צריך להשתמש בדגל, צריך לקבוע את סוג הדגל.
קביעת השימוש בדגל
כדי לקבוע מתי להשתמש בדגל להשקת תכונה, פועלים לפי ההנחיות הבאות:
אם אתם מבצעים שינוי שעלול לגרום לחוסר יציבות בבסיס הקוד של AOSP, כמו הוספת תכונה חדשה או תיקון באג מורכב במיוחד, כדאי להשתמש בדגל להשקת תכונה.
לעומת זאת, אם אתם מבצעים שינוי בקוד שלא צפוי לגרום לחוסר יציבות בבסיס הקוד, כמו שינוי הערות, אתם לא צריכים להשתמש בדגל להשקת תכונה.
קביעת סוג הסימון
יש שני סוגים של דגלים: דגלי aconfig ודגלי build.
דגלי aconfig
דגלי Aconfig משמשים להפרדה בין ההפעלה של קוד שלא פורסם לבין קוד שפורסם במהלך תהליך הבדיקה והפרסום. דגלי Aconfig יכולים להיות לקריאה ולכתיבה או לקריאה בלבד:
דגלי תצורה של קריאה-כתיבה הם משתנים בוליאניים שאפשר להפעיל (להגדיר לערך
true) או להשבית (להגדיר לערךfalse) בזמן הריצה. כדי לבדוק ולפרסם שינויים בלי להשפיע על היציבות של ענף ראשי, משתמשים בדגל קריאה-כתיבה.דגלי תצורה לקריאה בלבד הם קבועים בוליאניים שאי אפשר לשנות בזמן הריצה. אפשר להמיר דגלי aconfig לקריאה-כתיבה לדגלי aconfig לקריאה בלבד בקוד שהוא יציב ומוכן להפצה.
בנוסף, בהתאם לקומפיילר שבו אתם משתמשים, כשמשתמשים בדגל לקריאה בלבד, יכול להיות שהקוד שלא מופעל יוחרג מה-build. לכן, אפשר להשתמש בדגלים לקריאה בלבד כדי להסתיר קוד שלא מוכן להיות חלק מגרסה.
דגלי Build
דגלי build הם קבועים (מחרוזות) בזמן ה-build, ואי אפשר לשנות אותם במהלך זמן הריצה. משתמשים בדגלים האלה במקרים שבהם אי אפשר להשתמש בדגלי aconfig, כמו:
- יש לכם קטע קוד שעבר קומפילציה מראש או שנבנה מראש ואתם רוצים לכלול אותו ב-build.
- אתם רוצים לבצע שינויים במערכת build עצמה.
- אתם רוצים להוסיף סימון לתלויות כדי לנהל את גודל הקוד.