我为此创建了一个glfw存储库:
load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository")
new_git_repository(
name = "glfw",
build_file = "BUILD.glfw",
remote = "https://github.com/glfw/glfw.git",
tag = "3.2.1",
)
我将BUILD.glfw
放在WORKSPACE根目录中。当我建造时,我看到了:
no such package '@glfw//': Not a regular file: [snipped/external/BUILD.glfw
我将BUILD.glfw
移到了external/BUILD.glfw
上,它似乎可以正常工作,但是我找不到与此有关的文档。关于new_git_repository
的文档说build_file
“ ...是相对于主工作区的标签。”我在那儿看不到任何关于“外部”的东西。
答案 0 :(得分:1)
假设new_git_repository具有与http_archive相同的问题,那么根据Bazel问题6225,您需要将glfw的BUILD文件引用为@ //:BUILD.glfw
答案 1 :(得分:0)
这是由于new_git_repository
的本地和(较新的)云雀版本之间的语义差异不一致造成的。要使用本机new_git_repository
,请注释/删除load语句:
# load("@bazel_tools//tools/build_defs/repo:git.bzl", "new_git_repository")