bazel - 如何在 Bazel 中创建和使用自定义构建标志?
问题描述
我有一个带有条件属性的规则:
some_rule(
name = "my_rule",
some_attr = select({
":ts_diagnostics_mode_extended": ["--extendedDiagnostics"]
}),
)
并使用配置设置:
config_setting(
name = "ts_diagnostics_mode_extended",
values = { "define": "ts_diagnostics_mode=extended_diagnostics" }
)
然而,当bazel build :my_target --define ts_diagnostics_mode=extended_diagnostics
我得到
Configurable attribute "some_attr" doesn't match this configuration (would a default condition help?).
少了什么东西?
解决方案
--define
标志由config_setting
, via专门处理define_values
,因为它们是多值的。我认为这会起作用:
config_setting(
name = "ts_diagnostics_mode_extended",
define_values = { "ts_diagnostics_mode": "extended_diagnostics" }
)
推荐阅读
- r - R从嵌套列表中删除命名列表()死角
- heroku - Sprockets::Rails::Helper::AssetNotPrecompiled: application.css
- node.js - 为什么按名称查找我的角色返回未定义?
- javascript - 使用 ReactJS 和静态 App.css 进行 CSS 填充
- kubectl - kubectl:描述持久卷声明的注释
- r - 使用 gganimate 的箭头指向错误的方向
- java - mapstruct - 在复杂对象上下文中可迭代到不可迭代
- c# - 在 Mock It.Is 中使用谓词
- cakephp - MariaDB 时区错误
- python-3.x - 有没有办法计算python中每个目录和子目录中的“.txt”文件总数?