工具链
使用 ApiHug wire 任务校验 proto 模块,并生成中立契约输出。
wire 是 ApiHug Gradle 工具链里偏 proto 侧的生成任务。
它会编译并校验 protobuf 契约模块,然后生成下游模块所需的中立构建输出。
wire 是契约真正进入构建体系的那一步。proto 层出错,后续生成与应用层都会跟着出错。
plugins {
id "java-library"
alias(libs.plugins.hopeWire)
}
hopeWire {
keepProto = false
verbose = false
}
hopeWire 选项| 选项 | 说明 |
|---|---|
verbose | 输出详细执行日志 |
keepProto | 是否随产物一起打包 proto 编译结果 |
generatedVersion | 在 @Generated 中写入插件版本 |
generatedTime | 在 @Generated 中写入生成时间 |
restrict | 控制部分隐式转换行为 |
hope-wire.json 关键字段| 字段 | 说明 |
|---|---|
packageName | 模块的 Java 包根 |
name | proto 模块名 |
application | 对应的应用模块名 |
module | 运行时 service locator 标识 |
domain | 领域标识 |
persistence.identifyType | 主标识字段策略 |
persistence.tenantType | 租户字段策略 |
authority.enumClass | 模块使用的权限枚举 |
authority.codePrefix | 权限编码区间前缀 |
构建整个工程:
gradlew clean build -x test -x wireTest -x stubTest
只构建一个 proto 模块:
gradlew {YOUR_MODULE}:clean wire build -x test -x wireTest
wire 成功后,继续看 Gradle Stub,生成应用侧脚手架。