我定义了一个 Bazel 宏。它看起来像这样:
def my_macro():
java_binary(
srcs = glob(["*.java"])
# ...
)
Run Code Online (Sandbox Code Playgroud)
当我运行 Bazel 时,它失败并出现错误
ERROR: /home/.../macros.bzl:105:19: name 'glob' is not defined
Run Code Online (Sandbox Code Playgroud)
可以glob
在宏中使用吗?
该glob
函数仅在 BUILD.bazel 文件中可用。在.bzl
文件的宏定义中,将其作为native.glob
.
def my_macro():
java_binary(
srcs = native.glob(["*.java"])
# ...
)
Run Code Online (Sandbox Code Playgroud)
参考文献:https://groups.google.com/forum/#!topic /bazel-discuss/sXa60DnjxiA