在Bazel中,是否可以使用函数输出作为load语句的输入?
在Bazel中,是否可以使用简单的函数和变量作为load语句的输入 例如:在Bazel中,是否可以使用函数输出作为load语句的输入?,bazel,Bazel,在Bazel中,是否可以使用简单的函数和变量作为load语句的输入 例如: my_workspace=“a”+“b” 加载(我的工作区“foo”) 加载(我的工作区,“栏”) 警告:目标模式分析失败 错误:加载包“loadtest/simple”时出错:加载语句格式错误 确切的错误消息可能已随版本而更改,我将看到: “我的工作区”出现语法错误:应为字符串文字 但不可以,只能使用字符串文字,如下所示: 使用load语句从扩展导入符号 参数必须是字符串文字(无变量) 确切的错误消息可能已随版本而
my_workspace=“a”+“b”
加载(我的工作区“foo”)
加载(我的工作区,“栏”)
警告:目标模式分析失败
错误:加载包“loadtest/simple”时出错:加载语句格式错误
确切的错误消息可能已随版本而更改,我将看到: “我的工作区”出现语法错误:应为字符串文字 但不可以,只能使用字符串文字,如下所示: 使用
load
语句从扩展导入符号
参数必须是字符串文字(无变量)
确切的错误消息可能已随版本而更改,我将看到: “我的工作区”出现语法错误:应为字符串文字 但不可以,只能使用字符串文字,如下所示: 使用
load
语句从扩展导入符号
参数必须是字符串文字(无变量)
你为什么需要这个?也许有另一种方法可以实现您想要的。@erra工作区名称是由工具生成的,因此它们是使用函数计算的。我认为除了使用构建和工作区文件外,您无法控制加载阶段。也许您可以尝试创建一个计算要加载哪个工作区,加载它,然后将它绑定到一个常量名称。该常量名称是您将在生成文件中引用的名称。可以使用存储库创建要加载其他工作区的工作区_rule@Erran你的意思是我可以通过编程从
的“友好名称”到的“编程名称”创建一个“别名”(工作区本地)
?然后消费者可以编写load(“友好的名称”、“foo”)
,Bazel会将其解释为load(“编程的名称”、“foo”)
不完全正确。简而言之,repository\u规则
在实例化时会生成一个工作区。在这种情况下,当生成所述工作区时,该规则将生成一个工作区
文件,其中包含本地存储库
规则。每个本地存储库的名称
是友好的\u名称
,路径
将是编程的\u名称\u e811a524994
。我仍然不明白您想要的工作区名称的来源。为什么需要这个?也许有另一种方法可以实现您想要的。@erra工作区名称是由工具生成的,因此它们是使用函数计算的。我认为除了使用构建和工作区文件外,您无法控制加载阶段。也许您可以尝试创建一个计算要加载哪个工作区,加载它,然后将它绑定到一个常量名称。该常量名称是您将在生成文件中引用的名称。可以使用存储库创建要加载其他工作区的工作区_rule@Erran你的意思是我可以通过编程从的“友好名称”到的“编程名称”创建一个“别名”(工作区本地)
?然后消费者可以编写load(“友好的名称”、“foo”)
,Bazel会将其解释为load(“编程的名称”、“foo”)
不完全正确。简而言之,repository\u规则
在实例化时会生成一个工作区。在这种情况下,当生成所述工作区时,该规则将生成一个工作区
文件,其中包含本地存储库
规则。每个本地存储库的名称
是友好的\u名称
,路径
将是编程的\u名称\u e811a524994
。我仍然不明白您想要的工作区名称的来源。