【发布时间】:2017-05-03 23:30:09
【问题描述】:
我有一个 iOS 框架,它依赖于(可能是 Google 维护的)名为“!ProtoCompiler”的 pod。为了构建我的框架,我需要在沙箱中使用它。所以,我有一个 genrule,可以尝试将它包含在
中src = glob(['Pods/!ProtoCompiler/**/*']) 但我收到以下错误:
错误:BUILD:2:1://Foo:framework-debug:'genrule'规则中属性'srcs'的元素1118中的标签'Pods/!ProtoCompiler/google/protobuf/any.proto'无效:无效目标名称“Pods/!ProtoCompiler/google/protobuf/any.proto”:目标名称可能不包含“!”。
就目前而言,这对我使用 bazel 进行此构建来说似乎是一个完全的障碍。据我所知,我无法重命名 pod 目录。据我所知,!禁止应该针对 target 标签,有什么方法可以指定这只是一个文件,而不是标签?还是这两个概念完全融合在了bazel中?
(另外,如果我让它工作,我担心这会产生一个 .framework 目录,而且似乎规则只产生文件。也许我会把它压缩然后解压缩为测试工具构建的一部分。)
【问题讨论】:
-
谢天谢地,在构建时不需要这些 pod,所以我想我躲过了这颗子弹。不过,我仍然很想知道是否有答案。将 bazel 包/目标规则应用于项目中的所有文件路径似乎是错误的。
标签: bazel