Google utilise les indicateurs de lancement des fonctionnalités pour garantir la stabilité des branches de code. Ces indicateurs sont également requis pour certains types de contributions à AOSP. Avant d'implémenter le flag de lancement de la fonctionnalité, déterminez si un flag est nécessaire pour votre modification. Si un indicateur est nécessaire, vous devez déterminer le type d'indicateur à utiliser.
Déterminer l'utilisation de l'indicateur
Pour déterminer quand utiliser un indicateur de lancement de fonctionnalité, suivez ces consignes :
Si vous apportez une modification susceptible de rendre le codebase AOSP instable, par exemple en ajoutant une nouvelle fonctionnalité ou en corrigeant un bug particulièrement complexe, utilisez un indicateur de lancement de fonctionnalité.
À l'inverse, si vous apportez une modification de code qui n'est pas susceptible de rendre le codebase instable, par exemple en modifiant des commentaires, vous n'avez pas besoin d'utiliser d'indicateur de lancement de fonctionnalité.
Déterminer le type d'indicateur
Il existe deux types d'options : les options aconfig et les options de compilation.
Options Aconfig
Les indicateurs Aconfig permettent de séparer l'exécution du code non publié du code publié au cours du processus de test et de publication. Les indicateurs de configuration peuvent être en lecture-écriture ou en lecture seule :
Les options de configuration en lecture-écriture sont des variables booléennes que vous pouvez activer (définir sur
true
) ou désactiver (définir surfalse
) au moment de l'exécution. Utilisez un indicateur lecture-écriture pour tester et publier des modifications sans affecter la stabilité d'une branche principale.Les indicateurs aconfig en lecture seule sont des constantes booléennes que vous ne pouvez pas modifier au moment de l'exécution. Vous pouvez convertir des indicateurs aconfig en lecture/écriture en indicateurs aconfig en lecture seule pour du code stable et prêt à être publié.
De plus, selon le compilateur utilisé, lorsqu'un indicateur de lecture seule est utilisé, le code non exécuté peut être exclu de la compilation. Par conséquent, vous pouvez utiliser des indicateurs de lecture seule pour masquer le code qui n'est pas prêt à faire partie d'une version.
Indicateurs de compilation
Les indicateurs de compilation sont des constantes (chaînes) de temps de compilation. Vous ne pouvez pas les modifier pendant l'exécution. Utilisez ces options lorsque vous ne pouvez pas utiliser d'options de configuration, par exemple :
- Vous disposez d'un extrait de code précompilé ou prédéfini que vous souhaitez inclure dans la compilation.
- Vous souhaitez modifier le système de compilation lui-même.
- Vous souhaitez ajouter des indicateurs autour des dépendances pour gérer la taille du code.