Déterminer l'utilisation et le type d'indicateur

Google utilise les indicateurs de lancement de fonctionnalités pour garantir la stabilité des branches de code. Ces indicateurs sont également obligatoires 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 des indicateurs

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 un 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 options de configuration sont utilisées pour séparer l'exécution du code non publié du code publié lors du processus de test et de publication. Les options de configuration peuvent être en lecture/écriture ou en lecture seule:

  • Les indicateurs de configuration en lecture-écriture sont des variables booléennes que vous pouvez activer (définir sur true) ou désactiver (définir sur false) 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 les options aconfig en lecture-écriture en options aconfig en lecture seule pour le code stable et prêt à être publié.

    En outre, 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. Par conséquent, vous pouvez 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 options de compilation sont des constantes (chaînes) au moment de la compilation, et vous ne pouvez pas les modifier au moment de l'exécution. Utilisez ces options lorsque vous ne pouvez pas utiliser d'options de configuration, par exemple:

  • Vous disposez d'un code précompilé ou prédéfini que vous souhaitez inclure dans le build.
  • 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.