go - 下载后可以在模块中生成代码吗?

标签 go code-generation go-modules

正如标题所说,下载模块依赖项后是否可以生成代码(使用 //go:generate 之类的东西)?

具体来说,假设有一个存储库 example.com/protobuf ,其中包含一些 .proto 文件和一些用于生成绑定(bind)的 .sh 脚本在不同的语言中,加上一个 go.mod 因此它可以用作 go 的依赖项,如下所示:

module example.com/application

go 1.18

require (
  example.com/protobuf v1.0.0
)

但是,生成的 .go 文件不包含在此存储库中,它们必须使用 .sh 脚本之一生成,因此如果您尝试此操作,您会收到类似 module example.com/protobuf@latest found (v1.0.0), but does not contains package example.com/protobuf/foo

的错误

有没有办法解决这个问题而不诉诸例如。 git 子模块?

最佳答案

不,出于明显的安全原因,这是不可能的。

关于go - 下载后可以在模块中生成代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72869852/

相关文章:

c - 有没有解析c头文件并从c头文件中提取函数原型(prototype)的工具

google-app-engine - 在 App Engine 标准构建失败 : Your app is not on your GOPATH 上部署 go1.11

执行 ast.Inspect 时的 golang 评论和文档字段——为什么它们是空白的?

go - undefined reference to error 仅针对某些函数

c++ - ANTLR 3.2 中的 C++ 代码生成准备好了吗?

git - 带有不存在标签的伪版本

go - 取消 HTTP 请求时关闭所有 goroutine

c# - RIA 不生成所有代理实体

go - 拥有 vendor 文件夹有什么好处?

go - 如何使用 go modules 删除已安装的包