Buf
Buf CLI
配置
用于定义模块,它是主要的配置文件,负责模块的名称、依赖项以及 lint
和 break
配置。
buf.yaml
version: v1
name: ""
deps: []
build:
excludes: []
lint:
use:
- DEFAULT
except: []
ignore: []
ignore_only: {}
allow_comment_ignores: false
enum_zero_value_suffix: _UNSPECIFIED
rpc_allow_same_request_response: false
rpc_allow_google_protobuf_empty_requests: false
rpc_allow_google_protobuf_empty_responses: false
service_suffix: Service
breaking:
use:
- FILE
except: []
ignore: []
ignore_only: {}
ignore_unstable_packages: false
Lock 包含模块的依赖项清单,并表示模块依赖项的单个可重复构建。
buf.lock
# Generated by buf. DO NOT EDIT.
version: v1
deps:
- remote: buf.build
owner: acme
repository: paymentapis
commit: 9a877cf260e1488d869a31fce3bea26d
digest: shake256:4af5b88c9a1d9b36421ad84a2cff211fc74995040188dafc1c8508d36406140e40eb0ab82d21e761961e4a71631d4474e3d0608b987ca3d02d5d19012edff21d
用于定义一个本地插件模板,该模板直接与 buf generate
命令一起工作,从 Protobuf 文件生成代码存根。
buf.gen.yaml
version: v1
managed:
enabled: true
go_package_prefix:
default: github.com/bufbuild/buf-tour/gen
plugins:
- plugin: buf.build/protocolbuffers/go
out: gen
opt: paths=source_relative
- plugin: buf.build/connectrpc/go
out: gen
opt: paths=source_relative
用于定义工作空间,这是一个高级的本地开发特性。工作区使得将一个或多个模块合并为单个可构建单元成为可能。它们还允许用户通过一次执行跨多个模块运行 buf
操作(例如 buf lint
)。
buf.work.yaml
version: v1
directories:
- paymentapis
- petapis
最后更新于