Determina il tipo e l'utilizzo del flag

I flag di lancio delle funzionalità vengono utilizzati da Google come approccio per garantire rami di codice stabili. Questi flag sono necessari anche per determinati tipi di contributi all'AOSP. Prima di implementare il flagging del lancio delle funzionalità, determina se è necessario un flag per la modifica. Inoltre, se è necessario un flag, devi determinare il tipo di flag da utilizzare.

Determinare l'utilizzo dei flag

Per determinare quando utilizzare un flag di lancio di una funzionalità, segui queste linee guida:

  • Se stai apportando una modifica che potrebbe causare l'instabilità del codebase AOSP, ad esempio l'aggiunta di una nuova funzionalità o la correzione di un bug particolarmente complesso, utilizza un flag di lancio della funzionalità.

  • Al contrario, se apporti una modifica al codice che non è idonea a causare l'instabilità del codebase, ad esempio la modifica dei commenti, non devi utilizzare un flag di lancio della funzionalità.

Determinare il tipo di flag

Esistono due tipi di flag: flag di aconfig e flag di build.

Flag Aconfig

I flag Aconfig vengono utilizzati per separare l'esecuzione del codice non rilasciato dal codice rilasciato durante la procedura di test e rilascio. I flag Aconfig possono essere di lettura/scrittura o di sola lettura:

  • I flag di configurazione di lettura/scrittura sono variabili booleane che puoi attivare (impostate su true) o disattivare (impostate su false) in fase di runtime. Utilizza un flag di lettura/scrittura per testare e rilasciare le modifiche senza influire sulla stabilità di un ramo principale.

  • I flag di configurazione di sola lettura sono costanti booleane che non puoi modificare in fase di runtime. Puoi convertire i flag aconfig di lettura/scrittura in flag aconfig di sola lettura per il codice stabile e pronto per il rilascio.

    Inoltre, a seconda del compilatore utilizzato, quando viene utilizzato un flag di sola lettura, il codice non eseguito potrebbe essere escluso dalla build. Pertanto, puoi utilizzare i flag di sola lettura per nascondere qualsiasi codice che non è pronto per far parte di una release.

Creare flag

I flag di compilazione sono costanti (stringhe) in fase di compilazione e non possono essere modificati durante l'esecuzione. Utilizza questi flag nei casi in cui non puoi utilizzare i flag di configurazione, ad esempio:

  • Hai un pezzo di codice precompilato o predefinito che vuoi includere nella build.
  • Vuoi apportare modifiche al sistema di compilazione stesso.
  • Vuoi inserire flag intorno alle dipendenze per gestire le dimensioni del codice.