Migrate注解
定义来自:https://github.com/cncf/udpa/blob/master/udpa/annotations/migrate.proto
MigrateAnnotation 说明
MigrateAnnotation 注解用于标记在前后版本中的和迁移相关的API变更。
MigrateAnnotation 定义
MigrateAnnotation 可以用于 Message / Field / Enum / Enum Value / File:
// 此文件中的 Magic number 源自 "udpa.annotation.migrate" 的SHA256摘要的前28位。
extend google.protobuf.MessageOptions {
MigrateAnnotation message_migrate = 171962766;
}
extend google.protobuf.FieldOptions {
FieldMigrateAnnotation field_migrate = 171962766;
}
extend google.protobuf.EnumOptions {
MigrateAnnotation enum_migrate = 171962766;
}
extend google.protobuf.EnumValueOptions {
MigrateAnnotation enum_value_migrate = 171962766;
}
extend google.protobuf.FileOptions {
FileMigrateAnnotation file_migrate = 171962766;
}
相关的消息定义
message MigrateAnnotation {
// 在下一个版本中重命名 message/enum/enum value
string rename = 1;
}
message FieldMigrateAnnotation {
// 在下一个版本中重命名字段
string rename = 1;
// 在下一版本中,将该字段添加到命名的oneof。
// 如果已经存在,则该字段将加入oneof,否则将使用给定名称创建一个新的oneof。
string oneof_promotion = 2;
}
message FileMigrateAnnotation {
// 将文件中的所有类型移动到另一个包,这意味着更改 proto 文件路径。
string move_to_package = 2;
}
相关issue
- add migrate annotations:加了 rename
- Add package move annotation: 加了 move_to_package
- Oneof promotion field migration annotation: 加了 oneof_promotion