איך בודקים את סוג הדגל ואת השימוש בו

‫Google משתמשת בדגלים להשקת תכונות כגישה להבטחת ענפי קוד יציבים. הדגלים האלה נדרשים גם לסוגים מסוימים של תרומות ל-AOSP. לפני שמטמיעים סימון של השקת תכונות, צריך לקבוע אם נדרש סימון לשינוי. בנוסף, אם צריך להשתמש בדגל, צריך לקבוע את סוג הדגל.

קביעת השימוש בדגל

כדי לקבוע מתי להשתמש בדגל להשקת תכונה, פועלים לפי ההנחיות הבאות:

  • אם אתם מבצעים שינוי שעלול לגרום לחוסר יציבות בבסיס הקוד של AOSP, כמו הוספת תכונה חדשה או תיקון באג מורכב במיוחד, אתם צריכים להשתמש בדגל להשקת תכונה.

  • לעומת זאת, אם אתם מבצעים שינוי בקוד שלא צפוי לגרום לחוסר יציבות בבסיס הקוד, כמו שינוי הערות, אתם לא צריכים להשתמש בדגל להשקת תכונה.

קביעת סוג הסימון

יש שני סוגים של דגלים: דגלי aconfig ודגלי build.

דגלים של Aconfig

משתמשים בדגלי Aconfig כדי להפריד בין ההפעלה של קוד שלא פורסם לבין קוד שפורסם במהלך תהליך הבדיקה והפרסום. דגלי Aconfig יכולים להיות לקריאה ולכתיבה או לקריאה בלבד:

  • דגלי תצורה של קריאה וכתיבה הם משתנים בוליאניים שאפשר להפעיל (להגדיר לערך true) או להשבית (להגדיר לערך false) בזמן הריצה. כדי לבדוק ולפרסם שינויים בלי להשפיע על היציבות של הענף הראשי, משתמשים בדגל קריאה-כתיבה.

  • דגלי קריאה בלבד של הגדרות דינמיות הם קבועים בוליאניים שאי אפשר לשנות בזמן הריצה. אפשר להמיר דגלי aconfig עם הרשאות קריאה וכתיבה לדגלי aconfig עם הרשאת קריאה בלבד לקוד יציב ומוכן להפצה.

    בנוסף, בהתאם לקומפיילר שבו אתם משתמשים, כשמשתמשים בדגל לקריאה בלבד, יכול להיות שהקוד שלא מבוצע לא ייכלל ב-build. לכן, אפשר להשתמש בדגלים לקריאה בלבד כדי להסתיר קוד שלא מוכן להיות חלק מגרסה.

התראות על שינויים ב-Build

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

  • יש לכם קטע קוד שעבר קומפילציה מראש או שנבנה מראש ואתם רוצים לכלול אותו ב-build.
  • אתם רוצים לבצע שינויים במערכת הבנייה עצמה.
  • אתם רוצים להוסיף סימון לתלויות כדי לנהל את גודל הקוד.