Существует два файла .proto
1-й файл |имя "a.proto"
syntax = "proto3";
package a;
message AMsg{
fixed64 smth1 = 1;
fixed64 smth2 = 2;
}
2-й файл |имя "b.proto"
syntax = "proto3";
package b;
import "a.proto";
message BMsg {
a.AMsg msg1 = 1;
a.AMsg msg2 = 2;
}
в предыдущих версиях protoc-gen-go генерируется следующий код:
файл "a.pb.go"
package b
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
. . .
type AMsg struct {
smth1 uint64
smth2 uint64
}
. . .
файл "b.pb.go"
package b
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import "a"
. . .
type BMsg struct {
msg1 *a.AMsg
msg2 *a.AMsg
}
. . .
и все было в порядке,
, но
однажды пришла новая версия protoc-gen-go
и , файл "b.pb.go" теперь выглядит так:
package b
import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
. . .
type BMsg struct {
msg1 *AMsg
msg2 *AMsg
}
. . .
вы можете заметить, что здесь уже опущены уже известные типы, но я не могу выяснить причину.(то есть префикс «a». я пропустил)
эта ссылка https://developers.google.com/protocol-buffers/docs/reference/go-generated ничего не говорит о новом подходе
Что мне нужно сделать, чтобы Proto-gen-goгенерировать "b.pb.go" без этих падений?