里程碑/里程碑 20240510

里程碑

Milestone 2024-05-10

面向 0.4.0 插件与 0.9.8+ SDK 的升级说明,这一阶段为 1.0.0 正式线做准备。

这个里程碑包含兼容性变更。旧项目升级前请先阅读迁移步骤。

发生了什么

这个版本阶段为后续 1.0.0-RELEASE 做准备,并引入了若干命名和生成上的破坏性调整。

其中最重要的一项,是把第二语言字段从 cn_message 迁移到 message2

cn_message 改为 message2

旧字段:

Protobuf
string cn_message = 3 [deprecated = true];

改为:

Protobuf
string message2 = 4;

这样做的目的是让第二语言字段不再被“中文”语义硬编码,而是保留为通用第二语言能力。

迁移步骤

准备

  1. 升级 IntelliJ 插件到 0.4.0+
  2. 升级 SDK 到 0.9.8-RELEASE 或更高版本
  3. 更新 {PROJECT}/gradle/libs.versions.toml
Toml
apihug = "0.9.8-RELEASE"

修改代码

  1. 重新加载 Gradle 项目
  2. 把枚举或错误码中的 descriptionZhCN / setDescriptionZhCN 改为 description2 / setDescription2
  3. 把 proto 中的 cn_message 改为 message2
  4. 清掉错误后重新构建

实体字段命名策略

这个阶段也引入了更明确的实体字段命名策略配置,可在 hope-wire.json 中声明:

JSON
{
  "persistence": {
    "identifyType": "LONG",
    "tenantType": "LONG",
    "format": "CAMEL",
    "upper": "UPPER"
  }
}

对应的列定义示例,请使用当前标量语法:

Protobuf
string user_name = 1 [(hope.persistence.column) = {
  name: "MY_USER_NAME",
  description: "name of the account",
  nullable: false,
  updatable: false,
  length: 32,
  type: VARCHAR
}];

仅构建 Proto 模块

这一阶段的插件模板还引入了 proto-only 构建开关,用来在 proto 更新导致整项目暂时不稳定时,快速只验证 proto 模块。

示例命令:

Terminal
gradlew clean build -x test -x wireTest -DonlyProto=true

结果

完成本次迁移后,旧项目就能对齐后续 1.0 线默认依赖的命名和构建约定。

Copyright © 2026 ApiHug·AI-native Enterprise Architecture Factory