首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何将选择对象与bazel中的列表相一致

如何将选择对象与bazel中的列表相一致
EN

Stack Overflow用户
提问于 2021-08-26 07:59:27
回答 1查看 196关注 0票数 0

我有一个bazel目标,它的属性必须是列表。

但是,我需要根据select的结果有选择地将元素添加到列表中。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
glob_tests(
    # some stuff
    exclude = [
        "a.foo",
    ] + if_A([
        "x.foo",
    ]) + if_B([
        "y.foo",
    ]),
)

在上面的代码片段中,函数if_A和if_B返回select对象。

但是,当我按原样运行时,我会得到一个错误,说明需要一个序列对象,但是却遇到了一个select对象。

如何将select对象转换为序列对象?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-26 15:26:41

(我假设glob_test是一个调用内置函数glob的宏。)全局值是在加载BUILD文件时计算的,这是在已知任何配置之前。这意味着glob不能将任何select对象作为输入,因为不存在将select对象转换为列表的知识。

解决这一问题的方法是像这样将select调用放在全局之上

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
some_test(
   name = "some_test",
   srcs = select({
       "//cond1": glob(["t*", "s*"], exclude=["thing"]),
       "//cond2": glob(["t*", "s*"], exclude=["something else"]),
   }),
)

而不是

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
some_test(
   name = "some_test",
   srcs = glob(
       ["t*", "s*"],
       exclude=select({
           "//cond1": ["thing"],
           "//cond2": ["something else"],
       }),
   ),
)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68941841

复制
相关文章
Bazel remote cache
本篇的源码放在: https://github.com/backendcloud/example/tree/master/bazel-remote
后端云
2022/11/25
1.4K0
python中的列表与元组
版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
六小登登
2019/08/14
3.1K0
js选择对象
返回页面所有xxx类名对象的数组,要想取出其中的一个对象需采用数组的标识[i], document.getElementsByClassName("xxx")[i],否则无返回结果。
zkq
2020/04/20
5.5K0
js选择对象
Bazel genrule
genrule 的 参数 分为:sources,a tool(例如一个内置命令,一个shell脚本),一条命令,outputs
后端云
2022/11/25
1.2K0
如何挖掘 Bazel 的极致性能
Bazel 是 Google 公司于 2015 年开源的一款构建框架,至今收获了 21k 的 star 数,远超 gradle、maven、cmake 等同类产品。近几年来,字节阿里腾讯等互联网大厂也逐步拥抱 Bazel,搭建自己的构建体系。
深度学习与Python
2023/08/09
7610
如何挖掘 Bazel 的极致性能
扩展 Bazel 的构建语言
宏是实例化规则的函数。当 BUILD 文件过于重复或过于复杂时,它就非常有用,因为它允许您重复使用某些代码。
后端云
2022/11/25
1.7K0
扩展 Bazel 的构建语言
bazel源码编译
【bazel】https://github.com/sofu456/bazel 【openjdk】https://github.com/openjdk/jdk.git
sofu456
2020/09/17
1.4K0
Bazel 构建 protobuf
为了将proto文件转成编程语言代码,需要安装编译工具protoc。本篇验证使用 Bazel 构建 是否能和手动执行 protoc 和插件 的编译一样的结果。
后端云
2022/11/25
1.7K0
python列表中的赋值与深浅拷贝
[[1, 'tom', 3], 4, 5, 6] [[1, 'tom', 3], 4, 5, 6]
py3study
2020/01/19
9300
Bazel rules_docker 使用
本篇的代码放在: https://github.com/backendcloud/example/tree/master/bazel-sample/docker WORKSPACE文件内容: 加载rules_go 加载rules_docker 加载gazelle 准备基础镜像alpine_linux_amd64和distroless_linux_amd64 (类似Dockerfile的FROM) ⚡ root@localhost  ~/bazel-sample/docker   main ±  c
后端云
2022/11/25
6690
如何将python列表拆分为大小相等的块
程序熵
2023/09/25
3300
如何将python列表拆分为大小相等的块
Envoy编译篇:bazel构建介绍
本篇文章通过https://github.com/bazelbuild/examples/tree/main/cpp-tutorial里面的例子,来简单介绍下bazel构建的基础知识,方便后续查找和学习。
灰子学技术
2022/03/29
1.6K0
Bazel 编译工具; tensorflow 编译
tensorflow bazel 编译命令: (编译cpu支持的版本,限制编译的内存为2GB, 并兼容旧版本的ABI)
西湖醋鱼
2020/12/30
1.5K0
Python3--中括号"[]"与冒号":"在列表中的作用
如 : list[ : n]表示从第0个元素到第n个元素(不包括n),list[1: ] 表示该列表中的第1个元素到最后一个元素
狼啸风云
2019/09/25
5K0
python中的列表
列表是由一系列特定顺序排列的元素组成。你可以创建包含字母表中所有字母,数字0~9或所有家庭成员姓名的列表;也可以将任何东西加入列表中,其中的元素之间可以没有任何关系。鉴于列表通常包含多个元素,给列表指定一个表示复数的名称(如letters、digits或names)是个不错的主意。
狼啸风云
2019/01/28
5.6K0
Python中的列表
列表 是一种用于保存一系列有序项目的集合,也就是说,你可以利用列表保存一串项目的序 列。想象起来也不难,你可以想象你有一张购物清单,上面列出了需要购买的商品,除开在 购物清单上你可能为每件物品都单独列一行,在 Python 中你需要在它们之间多加上一个逗 号。
benym
2022/07/14
5K0
SharePoint中的列表(List) 与Content Type 之一
Windows SharePoint Services (WSS)通过列表和content type实现了协作的数据模式, 这两个都是用基于XML定义的schema来定义的, schema要么是在运行时通过用户自定义创建出来的, 要么是在features文件夹中的文件系统中的XML文件中. 这些基于XML的文件是用WSS-specific的语言写成的, 也就是Collaborative Application Markup Language (CAML). 当你使用CAML开发WSS类型定义(比如说site column, content types, 和site template)的时候, 那你就在创建用户可以在他们自己的collaborative application中使用的provisioning component. 当你通过WSS用户界面创建site columns, content types, list template的时候, 你就创建了scope范围仅在一个单独站点的自定义内容.
全栈程序员站长
2022/07/04
1K0
Python中的列表
序列是Python中最基本的数据结构。序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 1.列表 数组:存储同一种数据类型的集合 scores = [12,23,45] 列表(打了激素的数组):可以存储任意数据类型
py3study
2020/01/10
5.2K0
BUILD.bazel hello-world
Bazel是一个类似于类似于 Make、Maven 和 Gradle的构建和测试工具。使用 Java、C++、Go、Android、iOS 以及许多其他语言和平台进行构建和测试。Bazel 可在 Windows、macOS 和 Linux 上运行。
后端云
2022/11/25
1.2K0
BUILD.bazel hello-world
python中列表排序,字典排序,列表中的字典排序
key= lambda dict1:dict1[0] #dict1[0]表示按键,dict1[1]表示按值。
用户8346838
2021/03/10
9.1K0

相似问题

与Swift协议相一致的覆盖

11

与更多的价值相一致

10

UIStatusBar风格与UINavigationBar相一致

10

部分与样式旁边的元素相一致?

10

Artifactories与Bazel的集成

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文