为了使用像
有没有更加简洁/优雅的方式来完成这个任务?
clang-format
、clang-tidy
这样的 clang 工具,或生成像这个那样的 编译数据库,我需要知道 .bzl 文件中的 WORKSPACE 目录。怎么获取它呢?考虑以下例子,我只想打印工作区中所有 src 文件的完整路径:# simple_example.bzl
def _impl(ctx):
workspace_dir = // ---> what comes here? <---
command = "\n".join([echo %s/%s" % (workspace_dir, f.short_path)
for f in ctx.files.srcs])
ctx.actions.write(
output=ctx.outputs.executable,
content=command,
is_executable=True)
echo_full_path = rule(
implementation=_impl,
executable=True,
attrs={
"srcs": attr.label_list(allow_files=True),
}
)
# BUILD
echo_full_path(
name = "echo",
srcs = glob(["src/**/*.cc"])
)
有没有更加简洁/优雅的方式来完成这个任务?