我需要使用Bazel下载整个GitHub存储库。因为我对这个工具还很陌生,所以我不确定如何实现。
我的主要想法是:
在downloadgithubrepo.bzl(与WORKSPACE文件一样位于项目根目录)中编写自定义存储库规则,例如:
def _impl(repository_ctx):
repository_ctx.download("url_to_zipped_github_repo", output='relative_path_to_output_file')
github = repository_rule(
implementation = _impl
Run Code Online (Sandbox Code Playgroud)
并在WORKSPACE文件中编写如下内容:
load("//:downloadgithubrepo.bzl", "github")
Run Code Online (Sandbox Code Playgroud)
并需要一个BUILD文件(也位于项目根目录)来调用构建,其内容如下:
cc_library(
name = "testrun",
srcs = "main.c",
)
Run Code Online (Sandbox Code Playgroud)
我必须添加main.c文件,否则构建会失败-这是一个问题,真正的问题是这不起作用,因为构建正在传递中,但是GitHub存储库未下载。
我完全走对了吗?有人做过这样的事吗?