可以通过在 BUILD 文件中使用 genrule 的命令选项来获取工作区的绝对路径。可以添加以下命令:
genrule(
name = "my_genrule",
srcs = [...],
outs = [...],
cmd = "echo $(pwd)/$(basename $(dirname $(location //)))",
visibility = ["//visibility:public"],
)
在这个例子中,$(location //)
获取目录根的路径,basename
获取目录名称,dirname
获取上级目录的路径,pwd
获取当前目录的路径。这些命令组合在一起将生成工作区目录的绝对路径。
注意,上述命令需要在具有 Bash 的环境中运行。在 Windows 中,可以使用 Git Bash 或 Cygwin 终端运行。