简介:dep是一个管理Go项目依赖关系的工具。 bazel是一个生成稳定,可重现的构建的构建工具。有一个bazel rule set for Go projects,包括一个自动构建文件生成器 gazelle,,它按照go build
将要应用的约定生成Bazel构建文件,使用在bazel WORKSPACE
。
WORKSPACE
但是,我必须手工制作或借助一些小型的帮助工具wtool
来创建。另一方面,dep
有助于跟踪依赖关系,能够将它们下载到vendor/
目录并锁定特定版本。
对我而言,似乎dep用于指定依赖项版本的Gopkg.lock
文件(通常通过其VCS提交哈希)将很容易转换为bazel WORKSPACE
文件。我也成功地在公司内部项目中完成了这项工作。
bazel与其Go规则和dep之间是否存在现有链接,我可以使用而不是手动执行此操作?
(另外:还有其他人这样做吗?我应该这样做吗?)
答案 0 :(得分:1)
这是一个非常新的,积极开发的项目:https://github.com/scele/rules_go_dep。
答案 1 :(得分:0)
没有现成的工具,但将锁文件中的条目转换为WORKSPACE应该非常简单。
我们正在考虑向Gazelle构建文件生成器发出命令来帮助解决这个问题(不仅仅是dep,还有其他工具)。主要计划是让Gazelle自动添加缺少的存储库,但这需要更多时间来实现。