Dependencies bazel fetch/。。。对生成文件和工作区文件不执行任何操作
我无法让bazel下载并构建外部依赖项 也许我错过了一些明显的东西, 但让我们以gtest为例。 在我工作区的根目录下,我有一个gtest.BUILD和workspace 它们的定义如下: gtest.BUILD: 工作空间: 我尝试在其他代码中使用gtest,但外部依赖项不存在。 当我运行bazel fetch/。。。它什么也不做 我正试着按照bazel关于, 我不知道我漏掉了什么。有什么想法吗 我查看了$bazel信息输出/基本/外部,Dependencies bazel fetch/。。。对生成文件和工作区文件不执行任何操作,dependencies,bazel,external-dependencies,Dependencies,Bazel,External Dependencies,我无法让bazel下载并构建外部依赖项 也许我错过了一些明显的东西, 但让我们以gtest为例。 在我工作区的根目录下,我有一个gtest.BUILD和workspace 它们的定义如下: gtest.BUILD: 工作空间: 我尝试在其他代码中使用gtest,但外部依赖项不存在。 当我运行bazel fetch/。。。它什么也不做 我正试着按照bazel关于, 我不知道我漏掉了什么。有什么想法吗 我查看了$bazel信息输出/基本/外部, 但我没有看到任何m构建的依赖关系 当前工作区中可能没有
但我没有看到任何m构建的依赖关系 当前工作区中可能没有任何内容/。。。依赖于@gtest/….中的任何目标,因此运行bazel fetch/。。。没有告诉Bazel它需要下载@gtest 如果您试图运行bazel fetch@gtest/。。。它将按预期直接下载归档文件:
$ bazel fetch @gtest//...
INFO: SHA256 (https://github.com/google/googletest/archive/release-1.7.0.zip) = b58cb7547a28b2c718d1e38aee18a3659c9e3ff52440297e965f5edffe34b6d0
Building: no action
现在,如果您添加一个依赖于@gtest/:main的目标并运行bazel fetch/。。。同样,它将下载@gtest:
啊,谢谢。我假设bazel fetch/。。。获取所有依赖项,不管它们是否正在使用。您可以使用Bazel sync。
new_http_archive(
name = "gtest",
url = "https://github.com/google/googletest/archive/release-1.7.0.zip",
build_file = "gtest.BUILD",
strip_prefix = "googletest-release-1.7.0",
)
$ bazel fetch //...
Extracting Bazel installation...
Starting local Bazel server and connecting to it...
...........
$
$ bazel fetch @gtest//...
INFO: SHA256 (https://github.com/google/googletest/archive/release-1.7.0.zip) = b58cb7547a28b2c718d1e38aee18a3659c9e3ff52440297e965f5edffe34b6d0
Building: no action
$ bazel clean --expunge
INFO: Starting clean (this may take a while). Consider using --async if the clean takes more than several minutes.
$ cat BUILD
filegroup(
name = "gtest",
srcs = ["@gtest//:main"],
)
$ bazel fetch //...
Starting local Bazel server and connecting to it...
..........
INFO: SHA256 (https://github.com/google/googletest/archive/release-1.7.0.zip) = b58cb7547a28b2c718d1e38aee18a3659c9e3ff52440297e965f5edffe34b6d0
Building: no action
$ ls $(bazel info output_base)/external
bazel_tools @bazel_tools.marker gtest @gtest.marker local_config_cc @local_config_cc.marker