我正在用 bazel 编写一个 go 测试。测试将首先构建一个二进制文件,并将二进制文件挂载到一个 docker 容器。所以我需要知道我构建的二进制文件的路径。
文件系统结构如下:
dir 结构如下所示:
some/of/my/path
├── BUILD.bazel
├── my_test.go
└── my_tool
├── BUILD.bazel
└── my_tool.go
我想在my_tooldir 中使用 go 文件构建一个 go 二进制文件。
从我上一个问题的回答中,我知道我可以使用in from 的data条目来构建二进制文件:go_testsome/of/my/path/BUILD.bazel
go_test(
name = "my_test",
srcs = ["my_test.go"],
data = glob(["testdata/**"]) + [
"//some/of/my/path/my_tool:my_tool",
],
gotags = ["my_test"],
deps = [
"//pkg/util/contextutil",
"//pkg/util/log",
...
],
)
它确实为my_tool. 但现在的问题是,我怎么知道in的内置二进制文件在哪里?my_toolmy_test.go
在my_test.go,我需要写这样的东西:
package my_lucky_test
...
pathForMyTool := some_path
hostConfig := container.HostConfig{
Binds := []string {""%s/my_tool-bin:/workding-dir/my_tool-bin", pathForMyTool"}
}
我的问题是如何获得“my_tool-bin”的绝对路径?
慕工程0101907
相关分类