3

简介:dep是一个管理 Go 项目依赖关系的工具。bazel是一种构建工具,可生成稳定、可重现的构建。Go 项目有一个 bazel规则集,包括一个自动构建文件生成器,gazellego build,它使用 bazel 中声明的依赖项按照适用的约定生成 Bazel 构建文件WORKSPACE

但是WORKSPACE,我必须手动创建或借助一些 hackish 辅助工具来创建wtool. dep另一方面,有助于跟踪依赖关系,能够将它们下载到vendor/目录并锁定特定版本。

在我看来,Gopkg.lockdep 用来指定依赖版本的文件(通常通过他们的 VCS 提交哈希)可以很容易地转换为 bazelWORKSPACE文件。我也在公司内部项目中成功地手动完成了这项工作。

bazel 与其 Go 规则和 dep 之间是否存在我可以使用而不是手动执行此操作的现有链接?

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

4

2 回答 2

2

有一个非常新的、正在积极开发的项目:https ://github.com/scele/rules_go_dep 。

于 2018-02-09T04:53:38.673 回答
1

没有现成的工具可以做到这一点,但是将锁定文件中的条目转换为 WORKSPACE 应该非常简单。

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

于 2017-11-25T15:47:55.410 回答