Google utilise des indicateurs de lancement de fonctionnalités pour s'assurer que les branches de code sont stables. Ces indicateurs sont également requis pour certains types de contributions à l'AOSP. Avant d'implémenter le flagging de lancement de fonctionnalité, déterminez si un flag est nécessaire pour votre modification. Si un indicateur est nécessaire, vous devez déterminer le type à utiliser.
Déterminer l'utilisation des indicateurs
Pour déterminer quand utiliser un indicateur de lancement de fonctionnalité, suivez ces consignes :
Si vous apportez une modification susceptible de rendre la base de code AOSP instable, par exemple en ajoutant une 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 la codebase instable, comme la modification de commentaires, vous n'avez pas besoin d'utiliser de flag de lancement de fonctionnalité.
Déterminer le type de signalement
Il existe deux types d'indicateurs : les indicateurs aconfig et les indicateurs de compilation.
Indicateurs Aconfig
Les indicateurs Aconfig permettent de séparer l'exécution du code non publié de celle du code publié pendant le processus de test et de publication. Les options Aconfig peuvent être en lecture/écriture ou en lecture seule :
Les indicateurs aconfig 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 de lecture-écriture pour tester et déployer 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 options aconfig en lecture et écriture en options aconfig en lecture seule pour le code stable et prêt à être publié.
De plus, selon le compilateur que vous utilisez, lorsqu'un indicateur en lecture seule est utilisé, le code qui n'est pas exécuté peut être exclu de la compilation. Vous pouvez donc utiliser des indicateurs en lecture seule pour masquer tout code qui n'est pas prêt à faire partie d'une version.
Indicateurs de compilation
Les indicateurs de compilation sont des constantes (chaînes) au moment de la compilation. Vous ne pouvez pas les modifier lors de l'exécution. Utilisez ces indicateurs dans les cas où vous ne pouvez pas utiliser les indicateurs aconfig, par exemple :
- Vous disposez d'un élément 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 placer des indicateurs autour des dépendances pour gérer la taille du code.