如何知道genrule中的编译模式

时间:2017-05-04 11:45:21

标签: bazel

我正在使用bazel来构建我的android项目。我需要访问一个环境变量DEBUG(自定义)来确定BuildConfig.DEBUG应该是什么值,但我在Bazel的doc中找不到任何关于此的描述。 Bazel支持这个吗?或者我能做些什么才能实现我的意图?

非常感谢您的帮助!

PS:我使用genrule规则生成BuildConfig.java,但BuildConfig.DEBUG的值应由环境变量DEBUG确定:

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

1 个答案:

答案 0 :(得分:3)

您可以在$(COMPILATION_MODE)

中使用genrule.cmd制作变量
  

COMPILATION_MODE:" fastbuild"," dbg"或" opt"。

请参阅Make Variable substitution

编辑:重要的是要提及COMPILATION_MODE反映-c / --compilation_mode flag的值,但通常无法在命令行中指定您可以在genrule.cmd中访问的值。< / p>