【问题标题】:Is there a link between dep and the bazel Go rules?dep 和 bazel Go 规则之间有联系吗?
【发布时间】:2017-11-23 14:44:45
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: go bazel dep


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2015-12-15
        • 1970-01-01
        • 1970-01-01
        • 2022-01-07
        • 2014-11-24
        • 2022-06-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多