在我的单声道回购的层次结构中散布着大量的BUILD文件
其中一些文件包含cc_binary
规则
我知道它们都内置于bazel-bin
,但我希望能够轻松访问它们
如何将它们打包,并将它们全部放入~/.bin/
?
我看到packaging rules,但我不清楚如何编写捕获每个程序并将它们打包在一起的规则。
答案 0 :(得分:3)
这可能不是最优雅的解决方案(另外我希望我能得到这个问题),但这就是我们通过打包/" tarring"每个二进制文件都在自己的bazel包/ s1=bets.assign(correct=bets['status']=='Corrects').groupby(['temporada', 'username', 'comunidad', 'jornada']).correct.cumsum()
s2=bets.assign(correct=bets['status']=='Incorrects').groupby(['temporada', 'username', 'comunidad', 'jornada']).correct.cumsum()
bets['New']=(s1/(s1+s2)).values
文件中:
BUILD
然后我们将所有这些收集到项目根目录中的一个整体tarball /包中:
cc_binary(
name = "hello"
...
)
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
pkg_tar(
name = "hello_pkg",
srcs = [":hello"],
mode = "0755",
package_dir = "/usr/bin",
)
有时候我们实际上有多个这样的规则可以让hello收集pkg_tar(
name = "mypkg",
extension = "tar.gz",
deps = [
"//hello:hello_pkg",
...
],
)
下的可执行文件和bin
中包含中间lib
和hello_bin
目标的库。以与hello_lib
相同的方式首先将其汇总到mypkg
,然后在hello_pkg
中使用。