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

Google utilise des options de lancement de fonctionnalités pour garantir la stabilité des branches de code. Ces options sont également requises pour certains types de contributions à AOSP. Avant d'implémenter le signalement du lancement de fonctionnalités, déterminez si une option est nécessaire pour votre modification. Si c'est le cas, vous devez déterminer le type d'option à utiliser.

Déterminer l'utilisation des options

Pour déterminer quand utiliser une option de lancement de fonctionnalité, suivez ces consignes :

  • Si vous apportez une modification susceptible de déstabiliser la base de code AOSP, par exemple en ajoutant une fonctionnalité ou en corrigeant un bug particulièrement complexe, utilisez une option de lancement de fonctionnalité.

  • En revanche, si vous apportez une modification de code qui n'est pas susceptible de déstabiliser la base de code, par exemple en modifiant des commentaires, vous n'avez pas besoin d'utiliser une option de lancement de fonctionnalité.

Déterminer le type d'option

Il existe deux types d'options : les options aconfig et les options de compilation.

Options aconfig

Les options aconfig permettent de séparer l'exécution du code non publié du code publié pendant le processus de test et de publication. Les options aconfig peuvent être en lecture/écriture ou en lecture seule :

  • Les options aconfig 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 une option en lecture/écriture pour tester et publier des modifications sans affecter la stabilité d'une branche principale.

  • Les options 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/é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'une option en lecture seule est utilisée, le code qui n'est pas exécuté peut être exclu de la compilation. Par conséquent, vous pouvez utiliser des options en lecture seule pour masquer tout code qui n'est pas prêt à faire partie d'une publication.

Indicateurs de compilation

Les indicateurs 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 indicateurs dans les cas où vous ne pouvez pas utiliser d'options 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 apporter des modifications au système de compilation lui-même.
  • Vous souhaitez placer des indicateurs autour des dépendances pour gérer la taille du code.