标签: buf

buf 构建库中 go_package_prefix 的用途是什么?

我不明白 go_package_prefix 代码片段在生成 protobuf 文件中的用途

version: v1
managed:
  enabled: true
  go_package_prefix:
    default: github.com/imsobad/grpc-gateway-demo
    except:
      - buf.build/googleapis/googleapis
plugins:
  - plugin: buf.build/protocolbuffers/go:v1.30.0
    out: gen/go
    opt:
      - paths=source_relative
  - plugin: buf.build/grpc/go:v1.3.0
    out: gen/go
    opt:
      - paths=source_relative
      - require_unimplemented_servers=false
  - plugin: grpc-gateway
    out: gen/go
    opt:
      - paths=source_relative
      - generate_unbound_methods=true
Run Code Online (Sandbox Code Playgroud)

我想了解命令“go_package_prefix”是如何工作的

go buf

7
推荐指数
1
解决办法
304
查看次数

从与 buf.work.yaml 相同的目录调用时 buf build 找不到文件

我有一个具有以下结构的 protobuf 存储库:

\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 protos\n\xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 common\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 buf.yaml\n\xe2\x94\x82   \xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 time.proto\n\xe2\x94\x82   \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 internal\n\xe2\x94\x82       \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 buf.yaml\n\xe2\x94\x82       \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 user\n\xe2\x94\x82           \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 user.proto\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 buf.gen.yaml\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 buf.work.yaml\n
Run Code Online (Sandbox Code Playgroud)\n

`time.proto 的存根是:

\n
syntax = "proto3";\npackage common;\n\noption go_package = "github.com/my-org/protobuf-gen-go/gopb"; // golang\n\n// Message definition here\n
Run Code Online (Sandbox Code Playgroud)\n

user.proto引用该文件。这是它的存根:

\n
syntax = "proto3";\npackage internal.dynamodb;\n\nimport "common/time.proto";\n\noption go_package = "github.com/my-org/protobuf-internal/user"; // golang\n\n// Message definition here\n
Run Code Online (Sandbox Code Playgroud)\n

这两个buf.yaml文件看起来都是这样的:

\n
version: v1\nbreaking:\n  use:\n    - FILE\nlint:\n  use:\n    - DEFAULT\n
Run Code Online (Sandbox Code Playgroud)\n

看起来buf.work.yaml像这样:

\n
version: v1\ndirectories:\n - protos/common\n …
Run Code Online (Sandbox Code Playgroud)

go protocol-buffers buf

6
推荐指数
0
解决办法
1532
查看次数

标签 统计

buf ×2

go ×2

protocol-buffers ×1