版本依赖-ApiHug101

本文介绍了ApiHug平台与其依赖的Protobuf、gRPC和protobuf-gradle-plugin的版本管理策略,强调了版本控制的细节以及为何选择特定版本,以确保API设计的兼容性和稳定性。

 🤗 ApiHug × {Postman|Swagger|Api...} = 快↑ 准√ 省↓

  1. GitHub - apihug/apihug.com: All abou the Apihug   
  2. apihug.com: 有爱,有温度,有质量,有信任
  3. ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace

docs/handbook/099_trivial.md · dearxuecom/apihug.com - Gitee.com

Proto 版本

区分三个版本

名称说明例子备注
protoc编译器3.21.7protobuf 不同语言可能基于版本不一样
grpcgrpc1.50.0grpc protobuf上RPC扩展
protobuf-gradle-plugingradle插件0.8.19protobuf-gradle-plugin 帮助gradle: 1:集成protoc命令, 2:source目录布局

所以关系是:

  1. protoc 是底座
  2. grpc 是扩展
  3. protobuf-gradle-plugin 只是个辅助工具

这样松散的关系会导致: 版本的不兼容, protoc vs grpc vs protobuf-gradle-plugin, 目前 Apihug 测试通过的版本集合是

名称版本子包ApiHug Version
protoc3.21.7protobuf-java & protobuf-java-util[0.3.5-RELEASE,)
grpc1.50.0protoc-gen-grpc-java & grpc-stub & grpc-protobufgrpc-core[0.3.5-RELEASE,)
protobuf-gradle-plugin0.8.19com.google.protobuf:protobuf-gradle-plugin[0.3.5-RELEASE,)

版本控制的细节,在ApiHug的 gradle 插件,和 BOM 版本控制中已经预设好,兼容问题已经得到充分测试;

⚠️除非项目中自己强制指定版本(强烈不建议),可能会导致兼容问题。⚠️

💁‍♀️为什么不升级到更高阶版本? 因为ApiHug 只是使用 protobuf 作为 DSL 载体,而不是他的序列化功能或者rpc扩展。

Version Catalog

  1. 统一版本管理格式
  2. 长期滚动发布控制(Rolling Release)

ApiHug 自身项目采用 libs.versions.toml 文件 方式控制。

Sharing dependency versions between projects

Refer

  1. protobuf-gradle-plugin - git
  2. protobuf - git
  3. grpc - git
  4. Sharing dependency versions between projects
  5. ApiHug101-Bilibili
  6. ApiHug101-Youtube
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ApiHug

God Bless U

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值