2 votes

Comment savoir le mode de compilation dans une règle générique

Je suis en train d'utiliser bazel pour construire mon projet android. J'ai besoin d'accéder à une variable d'environnement DEBUG (définie par moi-même) pour déterminer quelle valeur de BuildConfig.DEBUG devrait être, mais je ne trouve aucune description à ce sujet dans la documentation de Bazel. Est-ce que Bazel prend en charge cela? Ou que puis-je faire pour atteindre mon intention?

Merci beaucoup pour toute aide!

PS: J'utilise la règle genrule pour générer mon BuildConfig.java, mais la valeur de BuildConfig.DEBUG devrait être déterminée par la variable d'environnement DEBUG:

genrule(
    name = "build-config-genrule",
    outs = [ "BuildConfig.java" ],
    cmd  = "echo 'package com.qzone;" +
           "public class BuildConfig {" +
           "public static final boolean DEBUG = ???;" +
           "}' > $(@)"
)

3voto

László Points 2159

Vous pouvez utiliser la variable Make $(COMPILATION_MODE) dans le genrule.cmd:

COMPILATION_MODE: "fastbuild", "dbg" ou "opt".

Voir soustitution de variable Make.

EDIT: Il est important de mentionner que COMPILATION_MODE reflète la valeur du -c / --compilation_mode flag, mais il n'y a généralement pas de moyen de spécifier des valeurs en ligne de commande que vous pourriez accéder dans genrule.cmd.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X