【发布时间】:2018-03-01 02:51:35
【问题描述】:
我们在工作中使用 Bazel 来包装和组织我们用于项目的一些构建系统。由于每个项目都有自己的构建系统(例如 bitbake),我们不能将 Bazel 用于实际构建(例如创建包含所有源代码的 cc_binary 和 cc_library 规则)。但我们确实将它用于包装和统一的 API。
我想让一个 shell 脚本 (A) 依赖于另一个 shell 脚本 (B),我想这样做,这样 B 将在 A 之前运行。由于我们在 BUILD 文件中有一些配置,我可以' t 简单地从命令行 B 然后 A 运行。我需要 Bazel 这样做,并将配置注入两个脚本。类似的东西:
在一个组件的BUILD文件中:
sh_binary(
name = "bazel_build_multivisor",
srcs = ["bazel-build-multivisor.sh"],
data = ["wrkspceinfo"],
deps = ["//core-build/components/bazel-pull:bazel_pull_multivisor"])
在负责从 git 拉取的第二个组件的 BUILD 文件中:
sh_binary(
name = "bazel_pull_multivisor",
srcs = ["pull_repo_repository.sh"],
data = ["wrkspceinfo", "pull_repo_repository.sh"],
args = [ARGS, "NAME=multivisor_repo;MODULE_NAME=*;GIT_BRANCH=*;MANIFEST=*.xml;PULL_PARAMS=8,8,8"],)
意思是,我希望 sh_binary 规则依赖于不同的 sh_binary 规则。
这可能吗?有更好的方法吗?
谢谢。
【问题讨论】:
标签: bazel