dep和bazel Go规则之间是否有联系?

时间:2017-11-23 14:44:46

标签: go bazel dep

简介: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之间是否存在现有链接,我可以使用而不是手动执行此操作?

(另外:还有其他人这样做吗?我应该这样做吗?)

2 个答案:

答案 0 :(得分:1)

这是一个非常新的,积极开发的项目:https://github.com/scele/rules_go_dep

答案 1 :(得分:0)

没有现成的工具,但将锁文件中的条目转换为WORKSPACE应该非常简单。

我们正在考虑向Gazelle构建文件生成器发出命令来帮助解决这个问题(不仅仅是dep,还有其他工具)。主要计划是让Gazelle自动添加缺少的存储库,但这需要更多时间来实现。