buf 可以使用类似包管理的概念解决protocol buffers 管理的问题
buf 包定义
buf 的包,部分功能是借鉴了类似npm 的一些玩法,只是对象简单一些,一个包是包含了一个buf.yaml 文件的服务定义
buf 包里边包含了protoc 文件,buf.yaml 文件同时包含了protocol 依赖的定义配置,如果需要发布buf 的bsr 同时还需要定义
名称,支持lint,format ,依赖管理等能力
buf workspace
buf workspace 是通过buf.work.yaml 定义的文件,可以对于buf 定义的包进行管理,方便定义的引用,同时也
buf 代码生成
代码生成也是buf 很重要的一部分,可以节省我们不少时间,同时方便进行依赖管理,同时也包含不少增强特性,可以简化
代码生成的处理,buf 称之为管理模式,比如生成代码的路径
说明
使用buf 进行基于protocol buffers 进行开发的项目是一个不错的选择,可以保证我们定义的质量以及共享管理