go - dep 和 bazel Go 规则之间有联系吗?

标签 go bazel dep

简介:dep是一个管理 Go 项目依赖关系的工具。 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 之间是否存在我可以使用而不是手动执行此操作的现有链接?

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

最佳答案

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

关于go - dep 和 bazel Go 规则之间有联系吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47458084/

相关文章:

javascript - Bazel:我如何使用 nodeJS_binary 规则来执行 "npm run start"

tensorflow - 如何使用 tensorflow Protocol Buffer 编译器从 .proto 文件正确重新生成 python .pb2.py 文件?

docker - 用于确定性 CI 构建的可移植 docker 守护进程

c - 跳转到数据段

delphi - Indy 9 和 Windows Server 2003 之间不兼容?

docker - 在 Docker 中运行 dep ensure -vendor-only 挂起无法拉取私有(private) repo

mongodb - Golang Mongo 使用 bson.NewObjectID() 插入自生成的 _Id,导致意外的模式

mysql - 如何防止 gorm 忽略 .Updates() 子句中 `UpdatedAt` 字段的值?

postgresql - Golang+PostgreSQL - 如何在不转义 HTML 标签的情况下打印精确查询?

golang XML : unmarshal ignores namespace