首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gazelle可以为外部Go项目运行吗?

Gazelle可以为外部Go项目运行吗?
EN

Stack Overflow用户
提问于 2017-11-17 20:37:22
回答 1查看 161关注 0票数 1

我有一个Bazel WORKSPACE,我想从它导入一个外部的Go git存储库。我想知道最好的做法是始终拥有Gazelle BUILD.bazel文件,还是我的源工作区可以以某种方式触发Gazelle生成文件,这样我就不需要签入它们?后者是,如果我不是上游回购的所有者,这种情况是有意义的。

EN

回答 1

Stack Overflow用户

发布于 2017-11-21 23:55:55

外部git存储库是常规的Go repo吗?"go get“可以构建它吗?如果是这样,当前的最佳实践是在您的工作区文件中使用go_repository。如下所示:

代码语言:javascript
复制
load("@io_bazel_rules_go//go:def.bzl", "go_repository")

go_repository(
    name = "org_golang_x_tools",
    importpath = "golang.org/x/tools",
    commit = "663269851cdddc898f963782f74ea574bcd5c814",
)

这将签出存储库,并在其中使用Gazelle生成构建文件。它还处理Go导入路径重定向。

如果存储库不能以这种方式干净地构建,您可以将其签出,使用Gazelle的-experimental_flat标志生成单个构建文件,根据需要进行修改,并在new_git_repositorynew_http_archive中使用该文件。这个工作流程现在相当笨拙,我们计划在未来大大简化它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47350841

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档