我正在使用Bazel和gazelle管理Go项目的BUILD.bazel文件。
我希望跨语言保持一致,并避免使用Go的特定供应商工具。
我禁用了瞪羚供应。它为那些存储库生成了精彩的BUILD条目,但是我仍然坚持自己为git_repository
或http_archive
编写WORKSPACE指令。如果我正在使用的项目具有很多外部依赖关系,那么这当然会很乏味。
有更方便的方法吗?瞪羚能否支持更新WORKSPACE文件?
谢谢。
最佳答案
回答我自己的问题:Bazel团队希望为Gazelle添加对此的支持,但是在完成之前,我们可以使用wtool:
$ go get -u github.com/bazelbuild/rules_go/go/tools/wtool
$ github.com/gordonklaus/portaudio
This will update the WORKSPACE file accordingly. The command doesn't even have to be run from the repository root - which is nice.
这是运行上面的命令后我的工作空间的区别:
$ git diff WORKSPACE
diff --git a/WORKSPACE b/WORKSPACE
index 3b15779..c170b60 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -50,3 +50,8 @@ go_repository(
importpath = "google.golang.org/api",
)
+go_repository(
+ name = "com_github_gordonklaus_portaudio",
+ commit = "e66c30a9c4ca11f93538cf8c004831bfb76f3838",
+ importpath = "github.com/gordonklaus/portaudio",
+)
关于go - 如果您很懒,添加新的Bazel github外部存储库的快速方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47451099/