Dependencies bazel fetch/。。。对生成文件和工作区文件不执行任何操作

Dependencies bazel fetch/。。。对生成文件和工作区文件不执行任何操作,dependencies,bazel,external-dependencies,Dependencies,Bazel,External Dependencies,我无法让bazel下载并构建外部依赖项 也许我错过了一些明显的东西, 但让我们以gtest为例。 在我工作区的根目录下,我有一个gtest.BUILD和workspace 它们的定义如下: gtest.BUILD: 工作空间: 我尝试在其他代码中使用gtest,但外部依赖项不存在。 当我运行bazel fetch/。。。它什么也不做 我正试着按照bazel关于, 我不知道我漏掉了什么。有什么想法吗 我查看了$bazel信息输出/基本/外部, 但我没有看到任何m构建的依赖关系 当前工作区中可能没有

我无法让bazel下载并构建外部依赖项

也许我错过了一些明显的东西, 但让我们以gtest为例。 在我工作区的根目录下,我有一个gtest.BUILD和workspace

它们的定义如下:

gtest.BUILD:

工作空间:

我尝试在其他代码中使用gtest,但外部依赖项不存在。 当我运行bazel fetch/。。。它什么也不做

我正试着按照bazel关于, 我不知道我漏掉了什么。有什么想法吗

我查看了$bazel信息输出/基本/外部,
但我没有看到任何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