Bazel 以字符串形式获取相对于生成文件的文件路径

Bazel 以字符串形式获取相对于生成文件的文件路径,bazel,Bazel,我正在使用,我想传递一些参数。其中一些参数是指向文件的路径:我的源代码,因此我可以获取覆盖率信息。有一个args参数被传递到PEX pytest可执行文件: pex_pytest( name = "test", srcs = glob(["**/*_test.py"]), args = [ "--cov=path/to/code", "--cov-config=path/to/.coveragerc", ], deps =

我正在使用,我想传递一些参数。其中一些参数是指向文件的路径:我的源代码,因此我可以获取覆盖率信息。有一个
args
参数被传递到PEX pytest可执行文件:

pex_pytest(
    name = "test",
    srcs = glob(["**/*_test.py"]),
    args = [
        "--cov=path/to/code",
        "--cov-config=path/to/.coveragerc",
    ],
    deps = [
        ":main",
        "//pylibs/test/mock",
    ],
)
因此,在这里,我希望我的主代码(
:main
)和
mock
库能够滚到测试pex中。然后我想用
--cov
--cov config
参数运行它

问题是
args
接受一个字符串数组,我不知道如何传递文件路径。我在想,如果我可以要求Bazel将标签转换为文件路径,我就可以提供适当的标签

如何获取与生成文件相关的路径,并将其作为字符串传递给该生成文件中定义的规则?

args(用于测试)应该具有,因此可以工作:

"--cov=$(location :path/to/code)"

哦,太近了。但这让我非常有信心,pex_pytest规则需要被破解一点,才能让我做我想做的事情——它不会在我需要的过程中传递
deps
,因此make样式变量无法工作。不过,我认为这是解决一般问题的正确答案。谢谢